封闭变化 - 建立 算法族 - 让算法变化独立于用户
举例:
对于一些特立独行的鸭子设计,不变部分采用继承,变化部分采用组合——动作委托给别人处理而不是定义在鸭子内部。
注意我们要换种说法——不再把行为说成一组动作,而是描述成算法。这些算法可以互换的。
企鹅是一个鸭子,企鹅有一些算法。
2.Observer
松耦合-当观察对象改变时,依赖的观察者都收到通知-pull
主题接口-主题实现
观察者接口-观察者实现
java.util.Observable类和Observer接口
Oberavable 是类 Oberaveser 是接口 感觉要搞反了;
其它还有:JButton 的注册-监听
3.Decorator 装饰
动态将责任添加到对象,利用继承来保持类型,而使用组合添加行为。
包装类
JDK中的InputStream-ImputStreamFilter-BufferedInputStream
利用装饰者,造成程序中有大量小类,当了解装饰的的原理后就能分辨如何组织 的了。
4.工厂方法 定义了一个创建对象的接口,由子类决定具体实例化,
产品延迟到子类去实现,使用继承
5.抽象工厂 提供一个接口创建相关或依赖对象的家族,而不需要明确指定具体类。
使用对象组合
依赖倒置原则 : 依赖抽象 , 工厂帮助我们依赖抽象 编程
6. 单件模式 确保一个类只有一个实例,并提供全局访问点
单件和全局变量的比较
单件在多线程下的挑战
单件在多线程(同步)方法下的性能改进:懒汉和饿汉
7.命令模式 将请求封装成对象,可以让你使用不同的请求,队列 ,或日志,来参数化其它对象。命令模式也可以支持撤消操作。
将发出请求的对象和执行请求的对象解耦 。两者之间是通过命令对象沟通的。
命令对象封装了一个或一组操作
调用者通过调用命令对象的Execute发出请求,使接收者的动作被调用
可以使用“聪明”命令对象,即直接实现了请求,而不是委托给接收者。
相关推荐
《Headfirst设计模式》是一本深受开发者欢迎的设计模式学习书籍,尤其对于初学者而言,其独特的教学方式使得复杂的概念变得易于理解。这本书以其高清的中文版PDF格式提供,结合书中源码,为读者提供了深入实践的可能...
《Head First设计模式》荣获2005年第十五届Jolt通用类图书震撼大奖。英文影印版被《程序员》等机构评选为2006年受读者喜爱的十大IT图书之一 。本书案例和程序虽然用Java编写,但所介绍的内容对于任何OO语言的用户都...
你不想重新发明轮子(或者更差的是,漏气的轮子),所以你从设计模式中寻求协助——设计模式是过去人们面对同样的软件设计问题所学来的经验。有了设计模式,你就可以...本书荣获2005年第十五届Jolt通用类图书震撼大奖。
本书荣获2005年第十五届Jolt通用类图书震撼大奖。 本书英文xx版被《程序员》等机构评选为2006年*受读者喜爱的十大IT图书之一 。 本书趋近完美,因为它在提供专业知识的同时,仍然具有相当高的可读性。叙述权威、...
Head.First设计模式共667页, 本书荣获2005年第十五届Jolt通用类图书震撼大奖。 本书英文影印版被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一 。 本书趋近完美,因为它在提供专业知识的同时,仍然...
本书荣获2005年第十五届Jolt通用类图书震撼大奖。 本书英文影印版被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一 。 本书趋近完美,因为它在提供专业知识的同时,仍然具有相当高的可读性。叙述权威、...
所有的设计模式Java实现。 第一讲:简单工厂模式 第二讲:工厂方法模式 第三讲:抽象工厂模式 第四讲:工厂模式在开发中的运用 第五讲:单例模式 第六讲:原型模式 第七讲:建造者模式 第八讲:装饰模式 第...
本书荣获2005年第十五届Jolt通用类图书震撼大奖。 本书英文影印版被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一 。 本书趋近完美,因为它在提供专业知识的同时,仍然具有相当高的可读性。叙述权威、...
强大的写作阵容。本书作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学硕士学位。... Head.First设计模式.part10.rar
强大的写作阵容。本书作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学硕士学位。... Head.First设计模式.part10.rar
强大的写作阵容。本书作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学硕士学位。... Head.First设计模式.part10.rar
强大的写作阵容。本书作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学硕士学位。... Head.First设计模式.part10.rar
强大的写作阵容。本书作者Eric Freeman;ElElisabeth Freeman是作家、讲师和技术顾问。Eric拥有耶鲁大学的计算机科学博士学位,E1isabath拥有耶鲁大学的计算机科学硕士学位。... Head.First设计模式.part10.rar