
设计模式
NEOMc
这个作者很懒,什么都没留下…
展开
-
敏捷开发、重构与设计模式
转自:http://kmhz.blog.163.com/blog/static/6918022200832314144955/ 最近,同事、朋友跟我聊天的过程中,提到了设计模式方方面面的问题。随着面向对象、敏捷开发的深入人心,越来越多的程序员希望能够借助设计模式,使自己的代码转载 2011-10-18 16:33:12 · 1909 阅读 · 0 评论 -
HeadFirst设计模式学习笔记4-适配器模式&外观模式
适配器模式 适配器模式的核心思想是把被适配者的接口封装起来,然后供客户端调用。类图如图所示:Adapter中组合使用被适配者的对象实例。Target是客户看到的他以为他正在操作的对象类型。Adapter继承于他,所以就对外表现出target类的类型。然后在其内部对真正的实现对象接口封装,让客户对target对象调用的动作执行adaptee的实现。适配器原则的适应场景:想使用原创 2011-10-30 15:21:21 · 1031 阅读 · 0 评论 -
HeadFirst设计模式学习笔记5-模板模式
模板方法 模板方法中,有的方法是由超类实现的,有些方法是由子类处理的。需要子类处理的方法需要声明为抽象方法。 模板方法定义了一个算法的框架,框架里面有一些小的步骤,这些步骤既可以在超类中实现,也可以延迟到子类实现。这样使得子类可以在不影响算法结构情况下修改具体实现。 模板方法应声明为final,以防止子类继承时覆盖。在模板模式中使用钩原创 2011-11-01 10:01:11 · 165 阅读 · 0 评论 -
HeadFirst设计模式学习笔记6-迭代器模式&组合模式
迭代器模式定义:提供了一种方法,可以顺序的访问一个聚合对象内的各个元素,而又不暴露其内部的表示。类图如下:这个模式至少带来了两个好处:1. 采用分离出去的的遍历方式设计可以让遍历从聚合类中解耦,可以实现自己的遍历方式,并且对外提供遍历的统一接口,封闭对内实现方式。2. 聚合对象不再负责维护内部对象集合的遍历方式,这样减少了聚合对象的职责,让聚合类的接口和原创 2011-11-04 15:02:08 · 949 阅读 · 0 评论 -
HeadFirst设计模式学习笔记7-状态模式
状态模式定义:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。 这句话的意思是,类对象的行为,不仅受当前他所处于的状态影响,还受他执行动作的影响,而且伴随着内部状态的改变。同时,如果我们能修改实例对象的状态,那么看起来我们好像改变了对象的实例化的类。类图如下: 状态模式的类图很像策略模式的,但他们有本质的不同,主要表现在两种模式的设计意图不同:l 状态模原创 2011-11-04 15:03:32 · 816 阅读 · 0 评论 -
HeadFirst设计模式学习笔记3-单件模式
原创文章,如有转载,请注明出处:http://blog.youkuaiyun.com/neomc/article/details/6787876单件模式时管理互斥/共享/临界资源的不错方式。可以保证系统所用的全局资源只有一份。单件模式的定义:确保一个类只有一个实例,并且提供一个全局访问点。单件模式的优点:1. 可以延迟实例化。类只有在被真正使用时才会被实例化,避免了如全局变量那原创 2011-09-18 20:42:49 · 1720 阅读 · 0 评论 -
HeadFirst学习笔记2:抽象工厂模式
抽象工厂方法中,之所以出现CheesePizza这个类,是因为工厂中pizza的馅料不同而已,不管是NY还是chicago制作cheesePizza的方法一样。这种馅料的差异放到了原料工厂去处理,完全没有必要设计两种不同的处理cheesepizza的类。以下是headfirst书中关于抽象工厂模式例子的类图:抽象工厂模式和公车模式的区别在于: 工厂模式抽原创 2011-09-14 13:17:43 · 1171 阅读 · 0 评论