在更大的计划之前,先温习一下Design Pattern的功课。
看了《Head First Design Patterns》里讲Decorator的样章,发现JOLT大奖不是白拿的,叙事能力之强,表达之清晰,不是那些满腹经伦的老先生可以比的。而且整个Pattern的讲述过程循序渐进,真的可以保证--小白都能学会设计模式。如果有中文版一定买一本,下一代的程序员有福了。
可惜就只有样章。Head First系列的电子书都不好找,只好还是翻出老先生们的书来看。
这次温习很快做完,其实GOF80%的模式,都是基于一个原则:
优先使用对象组合,而不是类继承.
初学OO的人,都习惯用现实世界去映射程序世界,继承是最自然的思路。GOF其实就是在扭转这个思路,让大家习惯使用组合,委托和程序对象。
组合机制只要根据两大原则,就可以变化出绝大部分的GOF模式.
1.任何耦合都可以通过增加一个中间层来解耦
代表模式有: Facade , Mediator , Adapter 和 Factory/Abstract Factory , Proxy
2.通过组合来扩充对象特性,可以避免纯继承引起的类爆炸
代表模式有: Bridge , Decorator , Chain of Response , Strategy/Command
3.另外还有些独立的常用模式如Singleton , Visitor , Observe
写给自己看的重放慢镜:
1.Facade : 为了减低一个系统和另一个系统的内部类之间的耦合性。建立对象A代理系统的主要功能
2.Mediator:为了减低两个对象之间的耦合性。建立一个中间对象C,同时具有A和B的实例,并把C赋给A和B
3.Adapter: 为了匹配不同的对象使用同一接口。建立对象B,代理A的方法并使其接口匹配。
4.factory: 为了不依赖于具体对象而依赖于接口的创建对象。程序通过Factory获得对象。
5.Proxy: 除了不依赖于具体对象,还能在过程中插入动作.程序通过Proxy调用对象的方法(AOP)
6.Bridge: 如果对象特征向两个方向发展,Bridge能够避免两组对象特征的排列组合引起类爆炸。一组特征如大杯、中杯,一组特征如加奶、加糖。把其中一组特征抽象分离为接口2,把接口2的实例传入到主继承树中。
7.Decorator: 通过包裹原对象,为原对象的动作添加新的动作。新类继承于原类,有原类同样的方法和原类的实体调用新类的方法时,会调用原类实体的原方法,再加上新类对其的扩展。
8.COR: 通过安排职责链,让各对象根据情况添加自己的动作。每个对象都有下一个对象的指针,根据情况完成自己的操作后,把控制传给下一位。Apahce Jarkarta Commands有chains库。
9.Strategy/Command: Template模式的对立物,把动作封装为对象进行组合。
10.Observe: 通过一套机制,监控Observebal对象的状态变化。JDK实现了两套接口进行辅助。
11.Visitor: 通过一套机制,让独立对象遍历组合里的所有对象,执行共同的动作。被访问对象有个accept(访问者)函数,在函数里面调用访问者.访问(this),不算很优雅的一个模式。
分享到:
相关推荐
又名: Head First Design Patterns 作者: (美)弗里曼(Freeman,E.) 副标题: Head First Design Patterns 简介 ······ 你不想重新发明车轮(或者更差的是,没有充气车胎的轮子),所以你从设计模式中寻求...
Head First Design Patterns 中文版 带目录 设计模式经典书籍
Head First Design Patterns(中文版)设计模式 java。 Head First Design Patterns(中文版) 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除 设计模式 ...
《HeadFirst Design Patterns》是设计模式领域中一本非常受欢迎的入门书籍,以其独特的教学方式深受读者喜爱。设计模式是软件工程中的一种最佳实践,它总结了在特定上下文中解决常见问题的经验和方法,使得开发者...
深入浅出设计模式(Head First Design Patterns)完整版,由本人精心整理网上的JPG版制作成PDF版供各位编程爱好者下载学习, 这部模式教程诙谐幽默,寓教于乐,实乃菜鸟成才必备之选。共分为11个压缩包,绝对的物有所...
《Head First Design Patterns》是设计模式领域中一本非常知名的书籍,尤其适合初学者入门。这本书以其独特的视觉风格和易于理解的讲解方式,帮助读者深入理解设计模式的核心概念和实际应用。Part2部分主要涵盖了...
head first design patterns-head first 设计模式的英文原版;高清英文原版,非扫描
深入浅出设计模式(Head First Design Patterns)完整版,由本人精心整理网上的JPG版制作成PDF版供各位编程爱好者下载学习,这部模式教程诙谐幽默,寓教于乐,实乃菜鸟成才必备之选。共分为9个压缩包,绝对的物有所值...
深入浅出设计模式(Head First Design Patterns)完整版,由本人精心整理网上的JPG版制作成PDF版供各位编程爱好者下载学习, 这部模式教程诙谐幽默,寓教于乐,实乃菜鸟成才必备之选。共分为11个压缩包,绝对的物有所...
### Head First Design Patterns 英文版 #### 书籍概述 《Head First Design Patterns》是一本在软件开发领域广受好评的设计模式入门书籍。本书由Kathy Sierra与Bert Bates共同编写,采用了一种独特而富有创意的...
这本书的部分章节,即"Pages from Head First Design Patterns (英文高清版)_part1.rar",可能涵盖了以下几个主要的设计模式: 1. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,...
《Head First Design Patterns》是一本深受开发者喜爱的设计模式教程,英文版的影印版本提供了清晰易读的阅读体验。设计模式是软件工程中的一种最佳实践,它总结了在特定上下文中解决问题的常见方法,旨在提高代码的...
head first design patterns电子版本(第1部分)
《Head First Design Patterns》是一本深入浅出介绍设计模式的图书,由Eric Freeman、Elisabeth Freeman、Bert Bates和Kathy Sierra联合编写。本书结合认知科学原理和神经生物学研究,采用引导式教学方法,通过故事...