《Head First设计模式》总结

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

设计原则

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

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

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

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

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

多用组合,少用继承

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

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

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

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

依赖倒置原则

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

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

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

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

好莱坞原则

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

单一责任原则

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

 

参考链接:

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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值