《Head First设计模式》

OO原则:

1.封装变化;2.多用组合,少用继承;3.针对接口编程,不针对实现编程;4.为交互对象之间的松耦合设计而努力。

观察者模式:让你的对象知悉情况。该模式是JDK中使用最多的模式之一。有了观察者,你将会消息灵通。(一对多关系、松耦合)

装饰者模式:装饰对象。----(给爱用继承的人一个全新的设计眼界)熟悉了装饰技巧,能够在不修改任何底层类代码的基础上,给你的或别人的对象赋予新的职责。

运行时的扩展(--组合)远比编译时期的继承威力大。将对象包装起来,赋予它们新的职责。

工厂模式:烘烤OO的精华,准备好开始烘烤某些松耦合的OO设计。除了new操作符之外,还有更多制造对象的方法。该模式会让你了解到实例化这个活动不应该总是公开地进行,也会认识到初始化经常造成“耦合”的问题。

单件模式:独一无二的对象。用来创建独一无二,只能有一个实例的对象的入场券。单件模式---确保一个类只有一个实例,并提供全局访问点。

命令模式:封装调用。

适配器模式与外观模式:随遇而安。以不同的目的,包装某些对象,让它们的接口看起来不像自己而像是别的东西。

模板方法模式:封装算法。

迭代器与组合模式:管理良好的集合。如何能让客户遍历你的对象而又无法窥视你存储对象的方式,如何创建一些对象超集合(super collection),能够一口气就跳过某些让人望而生畏的数据结构,还将学到一些关于对象职责的知识。

状态模式:事物的状态。策略模式和状态模式是双胞胎。策略模式是围绕可以互换的算法来创建成功业务的。状态模式走的是更崇高的路,它通过改变对象内部的状态来帮助对象控制自己的行为。

代理模式:控制对象访问。

复合模式:模式中的模式。模式之间携手合作。

并不是所有的子类(鸭子)都具有飞行和呱呱叫的行为,所以继承并不是适当的解决方式。而通过接口来解决一部分问题(如Flayable可以解决不会再有会飞的橡皮鸭问题),但是却造成代码无法复用,甚至,在会飞的鸭子汇总,飞行的动作可能还有多种变化。解决方法:采用良好的OO软件设计原则。

设计原则:

1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。把会变化的部分取出并“封装”起来,好让其他部分不会受到影响。

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

3.所用组合,少用继承。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值