dwe*_*aus 6 php inversion-of-control laravel
通常我只会通过构造函数注入依赖项,但是当父类具有依赖项并且必须通过所有子类传递它们时,它会变得非常冗长。
另一种方法是$this->dependancy = App::make('Dependancy')单独在父类中使用。那么父和子构造函数都可以为空。这样做有什么缺点吗?
你的方法有一个缺点,按照你的建议去做会让你的应用程序更难测试。
我的意思是,如果您尝试为父类编写单元测试,您将不再单独测试该父类。您的测试现在还取决于父类中声明的依赖项的结果。
如果您通过构造函数注入(或任何类型的注入)传递此依赖项,您就可以控制依赖项,并且可以模拟/存根它的输出并更好地隔离测试您的父类。
| 归档时间: |
|
| 查看次数: |
2886 次 |
| 最近记录: |