设计模式:是在特定环境下为解决某一通用软件设计问题提供的一套定制的解决方案,该方案描述了对象和类之间的关系。
基本要素:
一个对象应该只包含单一的职责,并且该职责被完整的封装在一个类中。
软件实体应该对扩展开放,对修改关闭。
使用开闭原则重构后:
如果需要增加一种新的图表,如折线图LineChart,只需要将LineChart也作为AbstractChart的子类,在客户端向ChartDisplay中注入一个LineChart对象即可,无须修改现类库的源代码。
所有引用基类的地方必须能透明的引用其子类的对象。
使用里氏替换原则重构后:
高层模块不应该依赖低层模块,二者都应该依赖其抽象,抽象不应该依赖于细节,细节应该依赖于抽象。
使用依赖倒转重构后:
客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。
使用接口隔离重构后:
优先使用对象组合,而不是通过继承来达到复用的目的。
使用合成复用重构后:
一个对象应该对其他对象保持最少的了解。
使用迪米特法则重构后:
原文:https://www.cnblogs.com/zhishu/p/13906962.html