设计模式(一)——软件设计原则

1、单一职责原则
  一个类,只有一个引起它变化的原因。也就是说,我只因为一个功能去修改这个类,这个类只实现一种功能。一个类做一件事,避免太多功能揉杂在一起。
2、开闭原则
  一个类提倡通过拓展来增强其功能,而不是来修改类内部已经有的代码。
3、里氏代换原则
  任何基类可以出现的地方,子类一定可以出现。把父类都替换成它的子类,程序的行为没有变化。在进行设计的时候,我们尽量从抽象类继承,而不是从具体类继承。
4、依赖倒转原则
  要依赖于抽象,不要依赖于具体。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。实现开闭原则的关键是抽象化,并且从抽象化导出具体化实现,如果说开闭原则是面向对象设计的目标的话,那么依赖倒转原则就是面向对象设计的主要手段。
5、接口隔离原则
  使用多个隔离的接口,比使用单个接口要好。一个接口做一件事。
6、合成复用原则
  合成复用原则就是指在一个新的对象里通过关联关系(包括组合关系和聚合关系)来使用一些已有的对象,使之成为新对象的一部分;新对象通过委派调用已有对象的方法达到复用其已有功能的目的。简言之:要尽量使用组合/聚合关系,少用继承。
7、迪米特法则(最少知道原则)
  一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。也就是说一个软件实体应当尽可能少的与其他实体发生相互作用。这样,当一个模块修改时,就会尽量少的影响其他的模块,扩展会相对容易,这是对软件实体之间通信的限制,它要求限制软件实体之间通信的宽 度和深度。

原文地址:https://www.cnblogs.com/leanfish/p/6131621.html