当我在我正在进行的项目中对Ninject进行拍摄时,我最近碰到了一堵砖墙。静态依赖注入工厂,对还是错?
我已经经历了各种各样的问题,系统地提出了我的设计和架构以支持依赖注入。
Is this right to inject the container/kernel to the main application presenter?
How to configure Ninject to use along with NHibernate in WinForms?
Conditional dependency injection binding only when property not null
What did I get wrong, DI or Design, and how should I go about it?
小时后,和小时,海小时在我看来,这篇文章来自Justin Etheredge,他讲述了他的静态DIFactory课程。
我现在不知道,是不是使用静态DI工厂做事情的工作像变魔术?
我想听听在实际应用中使用静态DI工厂的优缺点。
另外,IoC和DI是否相同,还是非常相似,但有些区别?
如果某些类型无法在应用程序启动时实例化,那么该怎么办?因为它们需要用户凭证才能正确实例化?例如,'NHibernante.ISessionFactory'就是这样的问题,因为它不能在没有正确的连接字符串的情况下实例化,并且一旦创建,它就不会让连接字符串改变。作为一种解决方法,可以提供'IDbConnection',并丢失在整个ISession生命周期中保存对象踪迹的二级缓存。然后需要用户提供他的证书,现在'ISessionFactory'依赖不再是一个问题。 –
它会是一个'AbstractFactory',它可以让新的类型被注册?你会怎么做呢? –
如果在运行时无法解析子图,则始终可以添加另一个间接层。抽象工厂将是一种选择。这里有更多关于[实现抽象工厂]的信息(http://blog.ploeh.dk/2012/03/15/ImplementinganAbstractFactory)。 –