美文网首页
设计模式(二)——面向对象设计原则

设计模式(二)——面向对象设计原则

作者: ozil_oo | 来源:发表于2018-09-18 09:46 被阅读0次

    理解隔离变化

    各司其职(责任)

    对象

    原则一:依赖倒置原则

    高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。
    通过依赖设计来隔离变化

    原则二:开放封闭原则(开闭原则)

    对扩展开放,对修改封闭
    类模块是可扩展的,但是不可修改

    原则三:单一职责原则

    原则四:Liskov替换原则

    子类可替换父类,子类继承父类方法时
    里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义:

    • 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
    • 子类中可以增加自己特有的方法。
    • 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
    • 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。

    原则五:接口隔离原则

    定义

    客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

    问题由来

    类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。

    解决方案

    将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则。


    未遵循接口隔离原则的设计 好的接口设计

    原则六:优先使用组合而非类继承

    原则七:封装变化点

    底层:封装数据

    原则八:针对接口编程,而不是针对实现编程

    产业的强盛的标志是——接口标准化
    秦国的兵器标准化
    毕升的活字印刷vs雕版印刷 松耦合设计 板字分离 板子和字靠接口连接

    相关文章

      网友评论

          本文标题:设计模式(二)——面向对象设计原则

          本文链接:https://www.haomeiwen.com/subject/nunjnftx.html