OO演化到设计模式
图片来源于大话设计模式
(上图参考了伍迷的大话设计模式)
OO的五大原则(SRP、OCP、LSP、DIP、ISP)
1.单一职责(Single Responsibility Principle SRP)就是一个设计元素只做一件事。
2.开闭原则 (the Open Closed Principle OCP)一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。
3.替换原则 (the Liskov Substitution Principle LSP)子类应当可以替换父类并出现在父类能够出现的任何地方。
4.依赖原则 (the Dependency Inversion Principle DIP)在进行业务设计时,与特定业务有关的依赖关系应该尽量依赖接口和抽象类,而不是依赖于具体类。
5.接口分离原则 (the Interface Segregation Principle ISP)采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。