最近在学习设计模式,有必要记忆七大原则,方便后面学习具体的设计模式。
我想了一个口诀来方便我记忆(大家可以想自己的口诀来记忆):
开接一单,里(迪)合。
我用上面的话来记忆七大原则,比如开接一单,我脑海里的场景就是开始接单了,这是第一单,里合,我脑海里就是离合。
以下是我自己对七大原则的简单理解:(按照口诀的顺序)
-
开闭原则
一个类的模块和函数,应该对扩展开放,对修改关闭 -
接口隔离原则
一个类对另一个类的依赖应该简历在最小的接口上 -
依赖倒转原则
一种表述:
抽象不应该依赖于细节,细节应当依赖于抽象
另一种表述:
要针对接口编程,不要针对实现编程 -
单一职责原则
对类来说,一个类只应该负责一项职责 -
里氏替换原则
子类中尽量不要重写父类方法,当子类覆盖或实现父类的方法时,方法的形参要比父类方法输入的参数更宽松 -
迪米特法则
又叫最小知道原则。一个对象应该对其他对象保持最少的了解。简单理解就是只与直接的朋友通信。
直接的朋友:方法中的参数、成员变量、方法的返回值
与直接的朋友相反的概念–陌生的朋友:方法中的局部变量
简单记忆就是:不与陌生的朋友通信 -
合成复用原则
尽量使用合成/聚合的方式,而不是继承