zoukankan      html  css  js  c++  java
  • 《必须知道.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实现注入。
  • 相关阅读:
    python线程、线程池
    day10 知识点
    socketserver 进阶之I/O多路复用
    socketserver
    socket
    设计模式
    剑指offer:整数中1出现的次数
    剑指offer:二叉搜索树与双向链表
    剑指offer:扑克牌顺子
    剑指offer:孩子们的游戏(圆圈中最后剩下的数)
  • 原文地址:https://www.cnblogs.com/tangge/p/8452041.html
Copyright © 2011-2022 走看看