工厂方法(Factory
Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品...
分类:
其他好文 时间:
2014-05-16 06:55:08
阅读次数:
205
除了23种设计模式,还有许多常见的设计模式。1.简单工厂模式从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static
Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家...
分类:
其他好文 时间:
2014-05-16 06:19:16
阅读次数:
287
策略模式(Strategy),又叫算法簇模式,就是定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。应用场景比如每个人都要交"个人所得税",但是在美国交个人所得税和在中国交个人所得税就有不同的算税方法。概念解释参与的角色1.抽象策略角色...
分类:
其他好文 时间:
2014-05-16 05:56:47
阅读次数:
210
适配器模式(Adapter)将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。应用场景国内的电压通常为220V,而国外的很多地方采用110V的电压,在国内使用国外原装电器时,就必须有一个电源适配器将220V的电压适配至110V。所以适配器模式也可...
分类:
其他好文 时间:
2014-05-16 05:50:28
阅读次数:
236
原型模式(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