1、7大设计原则
开闭原则(Open Closed Principle,OCP)
依赖倒置原则(Dependence Inversion Principle,DIP)
单一职责原则(Single Responsibility Principle,SRP)
接口隔离原则(Interface Segregation Principle,ISP)
迪米特法则(Law of Demeter,LoD)
里氏替换原则(Liskov Substitution Principle,LSP)
合成复用原则(Composite Reuse Principle,CRP)
2、详细概念
开闭原则:软件实体如类、函数、模块应该对扩展开放,对修改关闭,即软件实体应该尽量在不修改原有代码的情况下进行扩展。用抽象构建框架,用实现扩展细节
依赖倒置原则:抽象不应该依赖于细节,细节应该依赖于抽象,即要针对接口编程,而不是针对实现编程
单一职责原则:一个类只负责一个功能领域中的相应职责,即就一个类而言,应该只有一个引起它变化的原因
接口隔离原则:使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。一个类对一个类的依赖应该建立在最小的接口上,尽量细化接口
迪米特法则(最少知识原则):一个软件实体应当尽可能少的与其他实体发生相互作用,一个对象应该对其他对象保持最少的了解。迪米特法则可降低系统的耦合度,使用类与类之间保持松散的耦合关系
里氏替换原则:所有引用基类(父类)的地方必须能透明地使用其子类的对象
合成复用原则:尽量使用对象组合,而不是继承来达到复用的目的。新的对象里通过关联关系(包括组合和聚合关系)来使用一些已有的对象,使之成为新对象的一部分;新对象通过委派调用已有对象的方法达到复用功能的目的