原型模式(Prototype)容易理解,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。特别是Java中提供clone()方法来实现对象的克隆,所以Prototype模式实现比较简单。应用场景概念解释类型:创建型设计模式Prototype模式允许一个对象再创建另外一个可定制的对象,根...
分类:
其他好文 时间:
2014-05-16 05:41:57
阅读次数:
212
代理模式(Proxy
Pattern)也叫做委托模式,它是一项基本设计技巧,许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式,而且在日常的应用中,代理模式可以提供非常好的访问控制,在一些著名开源软件中也经常见到它的身影,如Struts2的Form元素映射就采用了代...
分类:
其他好文 时间:
2014-05-16 05:38:40
阅读次数:
252
模板模式(Template
Pattern),又叫模板方法模式,通过定义一个操作的算法骨架,而将一些步骤延迟到子类中,可以不改变一个算法的结构即可以重新定义概算法的某些特定步骤。应用场景概念解释类型:行为型模式
分类:
其他好文 时间:
2014-05-16 05:30:17
阅读次数:
240
中介者模式(Mediator
Pattern),又称为调停者模式,定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。应用场景概念解释模式角色1.
抽象中介者(Mediator)角色:抽象中介者角色定义统一的接口用于各...
分类:
其他好文 时间:
2014-05-16 05:19:53
阅读次数:
216
建造者(Builder)模式的定义是:将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
首先它意图是要构建一个复杂的对像,而这个复杂的对像往往需要由好几个子对像或分步聚来完成最终的这个对象的构建,而这个复杂对象的子对像经常需要不断的变化,但它的构建过程是相对是稳定的。应用场...
分类:
其他好文 时间:
2014-05-16 05:05:58
阅读次数:
245
享元模式(Flyweight),使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元(from维基百科)。应用场景例如J...
分类:
其他好文 时间:
2014-05-16 04:49:36
阅读次数:
284
本文介绍一种行为型设计模式 Null Object(空对象)模式。
分类:
其他好文 时间:
2014-05-14 13:20:09
阅读次数:
241
组合模式(Composite
Pattern),又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。应用场景比如现实中公司内各部门的层级关系。概念解释将对象组合成树形结构以表示“部分整...
分类:
其他好文 时间:
2014-05-14 13:17:09
阅读次数:
284
几个设计模式的原则,简单了解了一下单一职责类的功能应该单一,就一个类而言,应该仅有一个引起它变化的原因,否则就要拆分。【大话设计模式】里大鸟和小菜用的DV的摄像功能和手机的摄像功能的比较,DV的功能单一,手机的功能多而复杂,小菜在看到UFO的时候赶紧拿出手机来录像,结果发现录的很不清楚,如果是DV的...
分类:
其他好文 时间:
2014-05-14 12:32:59
阅读次数:
185
装饰模式(Decorater)动态的给一个对象添加一些额外的职责。
就增加功能来说,装饰模式比生成子类更加灵活。装饰模式中有几个关键的地方:①装饰模式依赖于【装饰者】类中有一个父类对象(指针),
而装饰函数(或方法)用来此父类对象(指针)设置实际的动态类型。②因为是要给某个对象增加职责,所以很明显的...
分类:
其他好文 时间:
2014-05-14 12:03:06
阅读次数:
297