代理模式(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
组合模式(Composite
Pattern),又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。应用场景比如现实中公司内各部门的层级关系。概念解释将对象组合成树形结构以表示“部分整...
分类:
其他好文 时间:
2014-05-14 13:17:09
阅读次数:
284
什么是依赖注入
依赖,就是一个对象需要的另一个对象,比如说,这是我们通常定义的一个用来处理数据访问的存储,让我们用一个例子来解释,首先,定义一个领域模型如下:namespace
Pattern.DI.MVC.Models{ public class Product { pu...
在Linux下部署erlang项目,开发过程很多都是在Windows完成的,然后再发布到Linux,所以测试过程要在虚拟机下完成。有一天因为想要在虚拟机中使用到erlang图形化工具,比如appmon、tv、observer等等,便突发奇想得利用Windows的erlang连接到虚拟机中使用这些工具,用以查看虚拟机的运行状态。...
什么是依赖注入
依赖,就是一个对象需要的另一个对象,比如说,这是我们通常定义的一个用来处理数据访问的存储,让我们用一个例子来解释,首先,定义一个领域模型如下:
namespace Pattern.DI.MVC.Models { public class Product { publi...
静态模式可以更加容易地定义多目标的规则,可以让我们的规则变得更加地有弹性和灵活。我们还是先来看一下语法:
: :
...
targets 定义了一系列的目标文件,可以有通配符。是目标的一个集合。
target-pattern 是指明了targets 的模式,也就是目标集模式。
prereq-patterns 是目标的依赖模式,它对target-pattern 形成的模式再进行一...
分类:
其他好文 时间:
2014-05-13 07:21:57
阅读次数:
339
本文主要分析了中介者模式、观察者模式、备忘录模式、访问者模式、状态模式、解释器模式,介绍它们的定义、优缺点、使用场景,以及实例代码。为了深刻地理解设计模式,最重要的还是动手编写代码。
我参照书中的例程重新构想了一些更加生动、易于理解的例子,希望大家喜欢。
代码可以通过以下链接进行浏览:
http://git.oschina.net/caipeichao/java-design-pattern
这些代码都经过编译运行,保证没有错误。...
分类:
其他好文 时间:
2014-05-12 23:20:22
阅读次数:
436
实现 : Defferent Heros attack Defferently. - 不同的英雄使用不用的招数
Strategy设计的思路:
基类A,更加小的基类B,新的继承类C:
1 从基类A中抽出一个更加小的基类B
2 利用这个更加小的基类B实现不同的效果
3 把这个更加小的基类B包含进基类A中去
4 新的继承类C只需要和基类A打交道,设计不同行为,不需要理会更加小的基类B...
分类:
其他好文 时间:
2014-05-11 18:45:45
阅读次数:
297