IOC简洁说明

what is ioc:

控制注入,是一种设计模式

the benefits of using this:

降低耦合度

for example:

图解

常见场景

request --> UI层 --> response

小型UI层:
    获取dal/dbcontext
    执行操作

三层UI业务:
    获取 service
        获取service关联的dal
    执行操作

多层业务:
    获取 service
        获取上述关联层实例
        获取上述关联层实例
        获取上述关联层实例...
    执行操作

flow

未使用IOC vs 使用了IOC

<IOC>
1. UI只与容器关联
2. 容器与对象之间通过标识关联(通常是泛型type+抽象)
3. 业务调整时,无需考虑相关层的业务关系,只需维护本层业务
4. 当业务内容过多时,可以自行建立层级标准来维护标识的准确性
5. 简单易用,无需考虑过多元素

<无IOC时>
1. UI与最低层关联
2. 最低层与上层层层关联
3. 业务调整时,应考虑相关层的使用
4. 当业务内容过多时,阅读业务含义需要访问所有关联层方可理解
5. 复杂关联,容易出现代码重复,即便抽象也难以维护。。。

emm... 总结太多了,熟悉得不能再熟悉了。


author:monster

since:12/11/2018 3:26:09 PM

direction:ioc

猜你喜欢

转载自www.cnblogs.com/monster17/p/10423444.html
ioc