设计原则简介

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/love905661433/article/details/84335013

开闭原则

  • 定义 : 一个软件实体如类, 模块和函数应该对扩展开放, 对修改关闭
  • 用抽象构建框架, 用实现扩展细节
  • 优点 : 提高软件系统的可复用性及可维护性

依赖倒置原则

  • 定义 : 高层模块不应该依赖低层模块, 两者都应该依赖其抽象
  • 抽象不应该依赖细节; 细节应该依赖抽象
  • 面向接口编程, 而不是面向实现编程
  • 优点 : 可以减少类间的耦合性, 提高系统稳定性, 提高代码可读性和维护性, 降低修改程序所造成的风险

单一职责原则

  • 定义 : 不要存在多于一个导致类变更的原因
  • 一个类/接口/方法只负责一项职责
  • 优点 : 降低类的复杂度, 提高类的可读性, 提高系统的可维护性, 降低变更引起的风险

接口隔离原则

  • 定义 : 用多个专门的接口, 而不使用单一的总接口, 客户端不应该依赖它不需要的接口
  • 一个类对一个类的依赖应该建立在最小的接口上
  • 建立单一接口, 不要建立庞大臃肿的接口
  • 尽量细化接口, 接口中的方法尽量少
  • 优点 : 符合高内聚低耦合的设计思想, 从而使类具有很好的可读性, 可扩展性和可维护性
  • 要适度

迪米特原则(最少知道原则)

  • 定义 : 一个对象应该对其他对象保持最少的了解
  • 尽量降低类与类之间的耦合
  • 优点 : 降低类之间的耦合

里氏替换原则(LSP)

  • 一个软件实体如果使用的是一个父类的话, 那么一定适用于其子类, 而且察觉不出父类和子类对象的区别。也就是说在软件里面, 把父类替换成它的子类, 程序行为没有变化

合成/复用原则(组合/复用原则)

  • 就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。
  • 简短表述就是:要尽量使用组合,尽量不要使用继承。

猜你喜欢

转载自blog.csdn.net/love905661433/article/details/84335013