service-locator

    2热度

    3回答

    我目前停留在试图编写不依赖服务位置的工厂类。 我能想到的唯一的另一种选择是使用构造函数注入来注入所有可能的实例,但这可能会导致意外,因为类是通过引用传递的。 一旦可能的供应商数量增长,它也可能会变得昂贵和混乱。 提供者本身是完全复杂的类,它们有自己的依赖关系,因此手工构建不在图片中。 更新服务位置例如: public class ProviderFactory : IProviderFactory

    0热度

    2回答

    我在Module.php实施Zend的验证通过创建getServiceConfig()样AuthenticationService对象全局可用: 'AuthService' => function($sm) { $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $dbTableAuthAdapter = new

    0热度

    1回答

    我有一个创建文本文件处理策略的引擎。这些文件采用各种格式,引擎通过将文件传递给一系列策略来选择适当的策略,直到其中一个策略声明它可以解析它。 这不是经典的战略模式。它与服务定位器模式和责任链模式有些相似,并可能包含其中的任何方面。 剥离下来,它看起来有点像这样,尽管它目前与注射创建: public class EngineImpl { private Set<Strat> str

    2热度

    2回答

    我正在试图静态检查variadic模板参数列表中是否存在类型。但是,此模板列表实际上存在于传递单一类型的类中。答案here显示了如何检查参数列表或参数包,但我不确定如何测试包含可变参数模板的类。 例如 template <typename ...S> class Services {}; template <typename Services> class ServiceLocator

    4热度

    2回答

    我使用DI编写了一个大型应用程序。应用程序由初始化时的引导程序组成,其中大多数依赖项都被注入。一切皆好。 但是,有一些服务*,我不能简单地注入到处。一个很好的例子是日志服务。这是一个日志,因此,解决方案中的每一个类都可能希望将其用于调试或跟踪目的。并不是每个类都是在初始化时创建的,有些是由第三方提供的(应用程序有点像框架)。现在,我的解决方案是使用单例;我甚至为singleton创建了一些包装类,

    2热度

    1回答

    我已经构建了一个内部MVC PHP框架,现在我正在努力实施DI容器。我已经采用了疙瘩作为DiC,我已经阅读了Chris Hartjes的书“The Grumpy Programmer's Guide To Building Testable PHP Applications”(我发现它非常好,鼓舞人心的阅读,将推荐它高度!),这谈话让我更加了解TDD 。无论如何,如果我在框架的核心部分获得了一个D

    6热度

    3回答

    我使用MEF和我有两个出口具有相同的合同类型,但具有不同的合同名称 如: [Export("TypeA", typeof(MyPlugin))] [Export("TypeB", typeof(MyPlugin))] 我可以使用检索每个出口其各自的合同名称: ServiceLocator.GetExportedValues<MyPlugin>("TypeA"); 但现在我想找回实施MyP

    4热度

    2回答

    由于ServiceLocatorAwareInterface可能为removed from the AbstractController in ZF3,因此依赖关系应该通过构造函数或setter方法传递。 考虑到这一点,考虑用户或站点控制器的用例,其中包括注册,激活帐户,登录,注销等操作。至少需要一个UserService和2个表单。添加几个相关的操作(远程验证,帐户链接等),最终得到4或5个表单

    4热度

    1回答

    我正在使用缓存javax.naming.Context#lookup调用结果的服务定位器实现,并将其映射到所请求的EJB接口,因此所有后续请求(对于同一个EJB)在第一个请求之后返回缓存实例。 我的担忧是: 由于相同的情况下被使用,不存在 服务器EJB池这将成为多个同时发生的请求 与多个EJB(除非底层服务器的逻辑不知何故使得利用 使用EJB池的) 无状态和有状态EJB是线程安全的,但由于再次使用

    0热度

    1回答

    实际上,在我的ZF2项目中,我为模型,表单等创建了基类。例如:我注意到我可能需要在我的模型中使用ServiceLocator,所以我创建了实现ServiceLocatorAwareInterface的Application \ Model \ Base类。这也适用于我的表格。 我在想如果这是做这个或者我应该在构造函数中传递依赖的最好方法。所以我今天带着一个问题: 我有一个窗体(Applicatio