《Head First设计模式》总结

前言:知己知彼,百战不殆(小声bb)

设计原则

找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起

把会变化的部分取出并封装起来,好让其他部分不会受到影响,这样可以导致代码的变化所引起的后果变少,代码更加可控并且不容易出问题。

大多数的模式都着眼于软件变化的主题,允许系统局部改变独立于其他部分。

针对接口编程,而不是针对实现编程

这里的接口不一定指的interface关键字,而是说针对超类型编程,即利用多态,动态绑定对应的执行方法。

多用组合,少用继承

“有一个”(have a)可能比“是一个(is a)”更好。

为了交互对象之间的松耦合而努力

松耦合的设计之所以能让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的互相依赖降低到了最低。

类应该对扩展开放,对修改关闭

依赖倒置原则

要依赖抽象,不要依赖具体的类

最少知识原则,只和你的密友交谈

即减少对象之间的交互,不要将太多的类耦合在一起,导致修改一部分影响大部分。

建议:在对象的方法内,我们应该只调用属于以下类型的方法:此对象本身的、被当成方法的参数而传进来的对象的、此方法所创建或者实例化的任何对象的、对象的任何组件的。

好莱坞原则

防止循环依赖,在此原则下,我们允许低层组件将自己挂钩到系统上,但是高层组件会决定什么时候和怎么样使用这些低层组件。所以对于高层组件对待低层组件的方式是别调用我们,我们会调用你。

单一责任原则

一个类应该只有一个引起变化的原因。

参考链接:

https://xiaochai.github.io/2019/08/04/head-first-design-patterns/

猜你喜欢

转载自blog.csdn.net/Candyys/article/details/108802116