出于学习目的,我目前正在编写自己的MVC框架,我决定使用依赖注入容器在类之间共享常用的对象(例如DB实例)。
我在bootstrap文件中初始化了容器,并且在Application类中有一个容器的实例,在路由过程中传递容器的实例是一种好的做法吗?(例如,在ControllerBase构造函数中将容器对象作为参数传递)。另外,在我的ModelBase的构造函数中接受容器作为参数是一种好的做法吗
发布于 2015-02-20 18:29:18
听起来依赖项注入器和你正在做的事情是不同的。它听起来更像是一个ServiceLocator,一个存储库或者其他什么东西。通常,依赖项注入器位于调用之间(如果您将其用于参数注入)或创建之间(如果您将其用于字段或构造函数注入)。
依赖项注入器的使用对于注入到的代码/对象必须是完全透明的。所以,如果你传递了一个引用,你就做错了什么。
此外,DependencyInjector属于您的代码在其中运行的环境。看它的本来面目。应用程序甚至不应该知道依赖项注入器,除非您将应用程序用作您在其中运行的框架。
因此,让依赖注入起作用意味着在实际应用程序中没有对注入器的引用。目标是在注入或不注入的情况下以两种方式运行应用程序。Periode。
https://stackoverflow.com/questions/28460942
复制相似问题