首先,对不起我的英文不好,我希望你明白我在说什么。依赖注入和依赖不使用
这是我的问题:
让我们假设我有一个MVC应用包括标准路由器,控制器,模型(服务)层和某种分贝连接器。
模型层依赖于数据库连接器,控制器依赖于模型/服务,顶级“应用程序”类取决于路由器和控制器。
我的对象层次结构是这样的:
App -> ControllerFactory -> ServiceFactory -> DAO -> DbConnection
也许,上面写的并不像最好的应用架构不断,但我希望把重点放在其他的事情:
当我试图实例化一个App类,我应该将所有的依赖关系传递给实例化的类;类依赖关系依次具有自己的依赖关系等等。
因此,我得到所有层次堆栈立即实例化。但是如果我在某些情况下不需要访问数据库呢?如果某些控制器用于渲染静态模板而没有模型交互?
我的意思是,如果在某些特殊情况下类不需要自己的依赖关系(并且在某些情况下它可以)呢?我应该有条件地注入依赖吗?
我真的被困在这一点,我不知道该怎么办。
使用代理是一个非常好的主意,我会试试看,谢谢! –