《必须知道.NET》3.OO之美

3.2 依赖的哲学

3.2.1 本质诠释

“不要调用我们,我们会调用你”

3.2.2 什么是依赖,什么是抽象

“耦合是不可避免的”


(1)什么是依赖和耦合

依赖阐释耦合,耦合量化依赖程度。

依赖角度:

  • 无依赖,
  • 单项依赖,
  • 双向依赖

耦合角度:

  • 零耦合,没有依赖。
  • 具体耦合,一个类持有另一个具体类引用。
  • 抽象耦合,发生具体类和抽象类的依赖,最大作用通过对抽象依赖,应用多态,实现灵活扩展性和稳定性。

设计的目标:高内聚,低耦合
低耦合:代表了实现最简单的依赖关系,尽可能地减少类与类、模块与模块、层次与层次、系统与系统之间的联系;

(实现单向依赖,实现抽象的耦合,都是实现低耦合的基础条件。)

高内聚:一方面代表了职责的统一管理,一方面又代表了关系的有效隔离;


(2)关于抽象和具体

抽象 -> 能被具体层复用和覆写 -> 稳定性
具体 -> 体现系统动态性和变动性 -> 变动性

3.2.3 重新回到依赖倒置

依赖于抽象,对接口编程,对抽象编程!

3.2.4 IOC与DI

1.控制反转(IOC),代码的控制器交由系统控制而不是在代码内部,消除组件或模块间的直接依赖;
2.依赖注入(DI):

  1. 接口注入
  2. 构造器注入
  3. 属性注入
  4. .NET平台下,Attribute实现注入。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值