设计模式(六大原则)

158 阅读1分钟

1)单一职责原则

  • 每个类应该单一职责,否则应该将类进行拆分。(职责分配应该是最有争议的,每个人的经验不同,划分也不同)

2)开闭原则

  • 开闭原则,对拓展开放,对修改关闭。(将主体抽取成抽象基类,提供抽象方法让子类实现,需要拓展新的子类时,直接拓展,对原有代码做到最少的修改,或者说不修改)。

3)里氏替换原则

  • 任何基类可以出现的地方,子类都可以出现。就是说继承和多态,子类可以复写父类方法进行修改,或拓展新的行为(方法)。目的:提高复用性,将不能确定的行为让子类复写。(例:模板模式,父类中编写基本行为,子类重写方法实现对应的处理)。

4)依赖倒置原则。

  • 面对接口编程,将细节隐藏到实现中,外部只依赖接口而不依赖具体的实现类。(接口+实现类,外部只使用接口中提供的方法)。

5)接口隔离原则

  • 接口中不应该存在实现中用不到,却又必须实现的方法。应该将接口拆分成几个小接口。(例:点击、长按监听器接口,不应该混在一起,而应该分2个接口)。

6)迪米特原则

  • 迪米特原则,也叫最少知道原则。尽量降低类之间的依赖。减少成员变量和方法的降低访问权限,将类设计成不可变的类(门面模式、代理模式)。

补充

  • 尽量使用组合,而不是使用继承!