• 面向对象设计原则(SOLID原则)


    一、单一功能(single responsibility)

      单一功能原则,也叫单一职责原则。简单来说,就是一个类应该只有一个引起它变化的原因,其中心思想就是面向对象设计原则中的高内聚,低耦合。当分析有一个以上的原因引起某个类的需要修改,就应该尽量根据引发类修改的原因将该类拆分为多个类。

    二、开闭原则(open/closed)

      对扩展开放,对变化闭合。开闭原则指导的是对于已经完成测试并上线的类,如果需求发生变化,应该通过其他方法去扩展其功能而不是在原有功能类上进行修改。对于很多大型软件的向下兼容其实就是遵守了这个原则。

    三、里氏替换(Liskovsubsititution)

      里氏替换,也叫里氏代换,有一种描述是任何应用父类的地方都可以用子类替换,其本质是指在继承关系中子类可以扩展父类的方法,但不应修改父类的方法。在面向对象开发语言中,通过特定关键字,子类可以重写使得方法在子类调用中表现出特定的逻辑,这就违背了里氏替换。里氏替换其实就是开闭原则的一个应用场景。

    四、接口隔离(interface segregation)

      在设计上应将接口尽量拆分,使得客户端调用接口类时,类中只包含客户感兴趣的接口。

    五、依赖反转(dependency inversion)

      也叫依赖倒置,高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象,通俗的将就是面向接口编程。

    六、迪米特法则(Law of Demeter,LoD)(补充)

      也叫最少知识原则(Least Knowledge Principle,LKP),如果两个实体无须直接通信,则不要直接通信。

  • 相关阅读:
    字符串系列——Immediate Decodability
    Java I/O流操作(四)对象的序列化
    table自动拉伸在chrome与IE中的区别
    【web开发】spring+hibernate4支持中文排序
    SQL批量重命名中文字段名为对应拼音首字母字段名脚本
    Hibernate执行查询后又立马执行了更新(defaultaccess)
    上传图片之上传前预览图片
    挖掘FPTree
    Linux下Json库的编译及代码测试
    C语言中的位运算和逻辑运算
  • 原文地址:https://www.cnblogs.com/yoran-yang/p/13565580.html
Copyright © 2020-2023  润新知