软件设计原则
1.开闭原则
开闭原则(Open-Closed Principle, OCP)是指一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
简言之:扩展功能时不要修改原有代码,而是新增代码,保证不影响原有的功能。
2.依赖倒置原则
依赖倒置原则(Dependence Inversion Principle,DIP)是指设计代码结构时,依赖抽象而不是具体实现。
简言之:接口的合理运用。
3.单一职责原则
单一职责(Simple Responsibility Pinciple,SRP)是指不要存在多于一个导致类变更的原因。
简言之:一个类只负责单个功能,不要多管闲事。
4.接口隔离原则
接口隔离原则(InterfaceSegregationPrinciple,ISP)是指用多个专门的接口,而不使用单一的总接口。
简言之:接口设计职责要细,边界定义要清晰。
5.迪米特原则
迪米特原则(LawofDemeterLoD)又叫最少知道原则(Least Knowledge Principle,LKP),指一个对象应该对其他对象保持最少的了解,,尽量降低类与类之间的耦合。
简言之:吃饭只需要拿起勺子往嘴里喂,而无需知道做饭用了什么材料,怎么做的。
6.里氏替换原则
里氏替换原则(Liskov Substitution Principle,LSP)是指任何父类出现的地方,子类也一定能出现。
简言之:面向对象设计之继承,几维鸟不是鸟。
7.合成复用原则
合成复用原则(Composite/Aggregate Reuse Principle,CARP)是指尽量使用对象组合(has-a)/聚合(contanis-a),而不是继承关系达到软件复用的目的。
简言之:能用组合实现的就不要用继承。