读《Head First设计模式》笔记

这次读《Head First设计模式》笔记

策略模式:定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

基础:
1、抽象;
2、继承;
3、多态;
4、封装。

设计原则:
1、找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
2、针对接口编程,而不是实现编程。
3、多用组合,少用继承。

注意:
1、“针对接口编程”真正的意思是“针对超类型编程”,而抽象超类型可以是抽象类“或”接口。
2、原则:建立可维护的OO系统,要诀就在于随时想到系统以后可能需要的变化以及应付变化的原则。
3、要时刻思考:模式如何依赖基础与原则。
4、知道OO基础,并不足以让你设计出良好的OO系统。
5、良好的OO系统必须具备可复用、可扩充、可维护三个特性。
6、模式不是被发明,而是被发现。


问题与解答:
1、利用继承来提供Duck的行为,这会导致下列哪些缺点?
(1)、代码在多个子类中重复。
(2)、运行的行为不易改变。
(3)、很难知道所有鸭子的全部行为。
(4)、改变会签一发动全身,造成其他鸭子不想要的改变。

2、驱动改变的因素很多,找出你的软件中需要改变代码的地方。
参考答案:
(1)、我们的顾客或者用户决定要别的做法,或者想要新的功能。
(2)、我的公司决定采用别的数据库产品,又从另一家厂商买了数据,这造成数据格式不兼容。
(3)、应对技术的改变,我们必须更新代码,适用于新协议。
(4)、我们学到了足够的构建系统的知识,希望回去把事情做得更好。

你可能感兴趣的:(技术书籍)