最近的心得,我发现学一门设计模式,不管你是否能立刻理解它,第一最要紧的是要记住两个东西。1、它是属于什么范畴的设计模式。2、记住UML图。这两个是打开这个设计模式之门的金钥匙!为什么这么讲?因为刚刚学新的设计模式,如果一味的埋头在文字中,思想中,代码编写的例子中,如果你这个设计模式又不是看的很懂,实在是会让人晕头转向看的吐血身亡。结果在身亡前,你都不知道这个设计模式干什么用,也不知该怎么去写。心得...
分类:
其他好文 时间:
2014-08-25 15:02:24
阅读次数:
211
建造者模式能够将复杂的构建与其表示相分离,是的同样的构建过程可以创建出不同的表示。
建造者模式与抽象工厂的区别是:在建造者模式里,有个指导者,这个指导者来管理建造者,用户与指导者相互联系,指导者联系建造者,最终得到我们需要的产品。即建造者模式可以强制实行一种分步骤进行的建造过程。
建造者模式是将复杂的的内部创建封装在内部,对于外部调用的人员来说,只要传入指导者和建造者就可以了,...
分类:
编程语言 时间:
2014-08-23 17:45:21
阅读次数:
199
模式说明建造者模式将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。建造者模式构建复杂对象就像造汽车一样,是一个一个组件一个一个步骤创建出来的,它允许用户通过制定的对象类型和内容来创建他们,但是用户并不需要知道这个复杂对象是如何构建的,它只需要明白通过这样做我可以得到一个完整的复...
分类:
其他好文 时间:
2014-08-23 12:34:51
阅读次数:
276
创建类模式包括工厂方法模式、建造者模式、抽象工厂模式、单例模式和原型模式,它们都能够提供对象的创建和管理职责。其中的单例模式和原型模式非常容易理解,单例模式是要保持在内存中只有一个对象,原型模式是要求通过复制的方式产生一个新对象,这两个不容易混淆。下面主要分析其它三种模式。
一、工厂方法模式VS建造者模式
1、意图不同
在工厂方法模式里,关注的是一个产品整体,无须关心产品的...
分类:
其他好文 时间:
2014-08-22 21:11:29
阅读次数:
197
前言点击查看:设计模式系列生成器模式(建造者模式/builder)定义:将一个复杂的对象,分成多分,使同样的构建过程,能有不同的表示,这样的设计模式被称为建造者模式。举例说明:李嘉诚的遗嘱执行:财产(产品角色):李嘉诚拥有众多复杂的财产框架,这里以现金与物品入例。遗嘱(建造者):相当于建造者,分配现...
分类:
其他好文 时间:
2014-08-21 16:40:34
阅读次数:
188
第十三天自从小帅帅被于老大批了之后,心里非常不爽,因为有这样的理由:我已经做到了你想要的,为什么还得不到肯定。什么样的程序员才是优秀的?小帅帅带着这样的疑问去了解设计模式。尽管他把设计模式看了很多遍,甚至连设计模式的名字背得滚瓜烂熟,单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式...等。但...
分类:
其他好文 时间:
2014-08-21 13:16:54
阅读次数:
235
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式...
分类:
其他好文 时间:
2014-08-20 08:09:46
阅读次数:
331
4、引入钩子方法的建造者模式
建造者模式除了逐步构建一个复杂产品对象外,还可以通过Director类来更加精细地控制产品的创建过程,例如增加一类称之为钩子方法(HookMethod)的特殊方法来控制是否对某个buildPartX()的调用,也就是判断产品中某个部件是否需要被建造。钩子方法的返回类型通常为boolean类型,方法名一般为isXXX(),钩子方法定义在抽象建造者类中。...
分类:
编程语言 时间:
2014-08-20 01:26:55
阅读次数:
171
3、省略指挥者Director的建造者模式
指挥者类Director在建造者模式中扮演非常重要的作用,简单的Director类用于指导具体建造者如何构建产品,它按一定次序调用Builder的buildPartX()方法,控制调用的先后次序,并向客户端返回一个完整的产品对象。Direcotr针对抽象的建造者进行编程,如果需要不同的建造者,只需把建造者传入指挥者类,无需修改之前的代码。
...
分类:
编程语言 时间:
2014-08-20 00:06:15
阅读次数:
190
1、定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 2、通用类图 Product产品类:通常是实现了模板方法模式,也就是有模板方法和基本方法。 Builder抽象建造者:规范产品的组建,一般是由子类实现 ConcreteBuilder具体建造者:实现抽象类定义的所有方...
分类:
其他好文 时间:
2014-08-19 18:45:15
阅读次数:
184