• 《必须知道.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实现注入。
  • 相关阅读:
    TextField 属性与注意
    as3:获取系统信息
    转:As3 优化总结,代码写法和api使用事项。
    文本编辑器制作(1):2种方案实现
    FlashBuilder编译参数
    as3 动态类库使用
    webgame:版本更新与本地缓存
    A*
    FlashBuilder方便的调试UI插件Monster Debugger
    sourcemate flex插件
  • 原文地址:https://www.cnblogs.com/tangge/p/8452041.html
Copyright © 2020-2023  润新知