Moo*_*oon 3 dependency-injection inversion-of-control service-locator
那么......我一直在挖掘IoC容器和服务定位器.
我认为IoC容器是IoC容器,而不是服务定位器,因为
你使用它的方式.您将服务定位器传递给需要依赖项的类,然后通过容器检索依赖项.另一方面,您使用IoC容器将依赖项注入到类中.
IoC容器支持自动布线,而服务定位器则不支持.
我一直认为IoC容器支持自动布线,它必须支持它被称为IoC容器,但我转换了一些人告诉我IoC容器不必支持自动连接.
如果这是真的,除了你使用它的方式之外,什么使IoC容器成为IoC容器?
DI容器是一个可以以各种方式使用的库:
只要DI容器支持自动连线,您就可以以两种方式使用它,但您只能将其用作合成引擎.
由于服务定位器是反模式,因此美化字典没有价值.作为最低限度,我要说库必须支持自动接线才能成为DI容器.但是,这仍然不能成为一个有价值的组成部分.要从DI容器中获取值,它必须支持复杂的基于约定的启发式方法 ; 如果没有,你最好用手写作文(AKA Poor Man's DI).
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |