大话设计模式- 单一职责原则、开放-封闭原则、依赖倒置原则、里氏代换原则
1 单一职责原则
如果一个类承担了过多的职责,就等于把这些职责耦合在一起。
如果我们修改其中一个职责,很有可能会对其他职责造成抑制和破坏。
这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏ASD。
软件真正要做的许多内容,就是发现职责,并把这些职责相互分离[ASD]。
那么,我们怎么判断一个类中有多少种在职责呢?
如果我们能想到多于一个的动机去改变一个类,那这个类就是具有多于一个的职责[ASD]。
此时我们就应该考虑类的职责分离。
2 开放-封闭原则
3 依赖倒置原则
A: 高层模块不应该依赖底层模块,二者应该都依赖抽象。
B: 抽象不应该依赖细节,细节应该依赖抽象。
说白了,就是要针对接口编程,不要针对细节编程
我们程序的上层逻辑经常会遇到保存数据的需求。我们可以很方便的调用一些封装好的第三方库X。但我们的保存数据的需求不止一个,我们就会在很多地方调用X。 如果说过了一段时间,突然 X 宣布不再维护或者不再适用我们程序运行的系统了,我们该怎么办呢?
我们只能找到所有应用X的逻辑,并将他修改T_T。
上面这个🌰就是高层模块依赖底层模块的典型。同样的栗子还有日志打印等等。
所以我们需要提供一个标准的接口中间层,
用她来实现高层模块和X的关系。让二者都依赖她。
只要接口是稳定的,那么高层或者低层模块任何一方的更改都是不用担心的。二者都能够在不影响对方的情况下,很容易的被复用。
这才是最好的办法。
4 里氏代换原则:
稍后再更,溜了溜了....
网友评论