SOLID的5原则:
☞单一职责原则(Single Responsibility Principle)
☞开闭原则(Open Closed Principle)
☞里氏替换原则(Liscov Substitution Principle)
☞接口分离原则(Interface Segregation Principle)
☞依赖倒置原则(Dependency Inversion Principle)
还有两个:
☞迪米特法则(Law Of Demeter) 又叫最少知识原则,一个软件实体应当尽可能少的与其他实体发生相互作用。
☞组合/聚合复用原则(Composite/Aggregate Reuse Principle CARP) (优先使用组合而不是继承原则) 尽量使用合成/聚合达到复用,尽量少用继承。原则:一个类中有另一个类的对象。
开闭原则(Open-Closed Principle ,OCP):模块应该对外延具有开放性,对修改具有封闭性。
依赖倒置原则(Dependency Inversion Principle ,DIP):依赖于抽象,而非具体实现。
Liskov替换原则(Liskov Substitution Principle (LSP)):子类可以替换他们的基类。
接口分离原则(The Interface Segregation Principle (ISP)):多个客户专用接口比一个通用接口好
发布复用等价性原则(The Release Reuse Equivalency Principle,REP):复用的粒度就是发布的粒度
共同封装原则(The Common Closure Principle (CCP)):一同变更的类应该合在一起
共同复用原则(The Common Reuse Principle (CRP)):不能一起复用的类不能被分到一组
|
面向对象设计例子—表达式计算器:
表达式树 5+3*6 | 表达式树 -(3+6)*5 |
表达式树 5+3*6 | 继承体系 |
表达式树 -(3+6)*5 | 继承体系 |