设计模式6原则

SOLID C

迪米特原则(Demeter Principle)

类与类最少知道,模块相对独立。

  • 类的划分上,创建低耦合的类;
  • 类的设计上,降低成员的访问权限;
  • 类的引用上,减少其他对象的引用次数;
  • 谨慎使用序列化(Serializable)功能。

开闭原则(Open Close Principle)

对扩展开放,对修改关闭。

  • 抽象约束,封装变化。

里氏替换原则(Liskov Substitution Principle)

任何基类出现的地方,子类一定可以出现。

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

依赖倒转原则(Dependencce Inversion Principle)

针对接口编程,依赖于抽象而不具体实现。

  • 每个类尽量提供接口或/和抽象类;
  • 变量的声明类型尽量是接口或者抽象类;
  • 任何类都不应该从具体类派生;
  • 使用继承时尽量遵循里氏替换原则。

接口隔离原则(Interface Segregation Principle)

使用多个隔离的接口。

  • 接口尽量小,但是要有限度。一个接口只服务于一个子模块或业务逻辑;
  • 为依赖接口的类定制服务。类只提供需要的方法,屏蔽不需要的;
  • 拒绝接口固定化。不同的业务逻辑,接口的拆分标准就不同;
  • 提高内聚,减少对外交互。接口用最少的方法去完成最多的事情。

合成复用原则(Composite Reuse Principle)

尽量使用合成/聚合,而不是继承。

posted @ 2020-09-27 11:48  wesson2019  阅读(109)  评论(0编辑  收藏  举报