简介:
容器(container)技术(可以理解为全局的工厂方法), 已经是现代项目的标配. 基于容器, 可以进一步实现控制反转, 依赖注入....简单来说, 容器通过反射机制可获取目标方法的依赖 ( laravel 用反射来获取 typehint 类型约束, 而 Swoft项目似乎与spring 相似, 是从注释上获取的)....常见的解决策略
由于 Laravel 等使用了IoC 容器的项目能带来极好的工程体验, 而Swoole 能带来极大的性能提升, 于是有许多试图结合两者的项目, 都面临了 “请求隔离问题”....方案: 每个请求到来时, 实例化一个新容器, 重新注册所有服务
问题:
CommuneChatbot 遇到的请求隔离问题
多轮对话机器人框架 CommuneChatbot 在启动时需要加载大量多轮对话的逻辑...双容器策略在 CommuneChatbot 项目中的效果
CommuneChatbot 目前使用双容器, Demo 在微信公众号 CommuneChatbot 上运行.