本系列主要是记录阅读《Head First 设计模式》笔记
01.设计原则
找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
下面是对这个原则的另外一种思考方式:“把会变化的部分取出并封装起来,以便以后可以轻易地改动或扩充此部分,而不影响不需要变化的其他部分”。
这样的概念很简单,几乎是每个设计模式背后的精神所在。所有的设计模式都提供了一套方法让“系统中的某部分改变不会影响其他部分”。
02.设计原则
针对接口编程,而不是针对实现编程。
问:用一个类代表一个行为,感觉似乎有点奇怪,类不是应该代表某种“东西”吗?类不是应该同时具备状态“与”行为吗?
答:在oo系统中,是的,类代表的东西一般都是既有状态(实例变量)又有方法。只是在本例中,碰巧“东西”是个行为。但是即使是行为,也仍然可以有状态和方法。例如,飞行的行为可以具有实例变量,记录飞行行为的属性(每秒翅膀拍动几下,最大高度和速度等)。
03.设计原则
多用组合,少用继承
04.设计原则
为交互对象之间的松耦合设计而努力
基础
抽象
封装
多态
继承
原则
封装变化
多用组合,少用继承
针对接口编程,不针对实现编程
总结
阅读本书时,时时刻刻要思考,模式如何依赖基础与原则