Design Patterns
iteye_12500
这个作者很懒,什么都没留下…
展开
-
桥接模式(Bridge)
一、介绍桥接模式的主要目的是要将类的抽象部分与它的实现分离,使各个不同类之间都能独立的变化和衔接。 二、实例首先,定义一个抽象的基类,可以说这就是桥梁吧!public abstract class Soda { private SodaImp sodaImp; public void setSodaImp(SodaImp sodaImp) {...2007-12-18 11:30:30 · 279 阅读 · 0 评论 -
组合模式(Composite)
一、介绍组合模式主要用于具有父子关系,或局部-整体关系的情况下。此模式使局部对象和组合对象的使用具有一致性,或者说,我们可以用一个类来统一表示一个对象或组合对象。 二、实例 首先,定义一个抽象的基类,其中定义了局部对象和组合对象的一些基本元素。import java.util.LinkedList;import java.util.ListIterator;public abst...2008-03-31 14:48:10 · 122 阅读 · 0 评论 -
学习设计模式(Design Patterns)
设计模式(Design Patterns) 个人理解上来说,就是为了实现程序结构的低耦合、高重用性及扩展性。在日常的程序设计中选择一个或多个设计模式,可以养成程序员良好的编程习惯,写出高质量的代码。深入了解这些个设计模式,对程序开发及设计是不无裨益的。 从Gof(Gang of Four,传说中的四人帮 :P)的设计模式篇中了解到,我们把所有的设计模式归为了4个大类和23个小类,他们排着队分别...2007-08-15 10:30:38 · 95 阅读 · 0 评论 -
抽象工厂模式(Abstract Factory)
一、介绍抽象工厂模式相对工厂方法模式(Facotry Method)要复杂的多,一个抽象的工厂可以拥有多种方法,从而来生成不同性质的对象(产品)。 二、实例这里举一个例子,例子的UML类图如下:创建抽象工厂,首先要定义一个抽象工厂类,用来指明有哪些个制造方法,在本例子中,我们在抽象工厂类AbstractSoupFactory中定义了制造各种炖汤的方法:abstract cla...2007-08-15 13:15:00 · 108 阅读 · 0 评论 -
建造模式(Builder)
一、介绍建造模式(Builder)主要是为了将一个复杂的对象的构建和它的实际表示分离,使得同样的构建过程可以创建不同的表示。 建造模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节,该模式非常类似与抽象工厂模式。 二、实例在看建造模式的实例之前,请最好先理解抽象工厂模式(Abstract Factory) ,这里也...2007-08-20 13:03:07 · 137 阅读 · 0 评论 -
工厂方法模式(Factory Method)
一、介绍工厂方法模式是通过工厂方法,用不同方式来创建并返回一个对象。 二、实例实例的UML图如下: 在本模式的例子中,SoupFactoryMethod定义了一个makeSoupBuffet方法,用来返回一个SoupBuffet对象。在SoupFactoryMethod中同样也定义了用来创建SoupBuffet的其它子方法。class SoupFactoryMethod { ...2007-08-29 11:07:07 · 182 阅读 · 0 评论 -
原型模式(Prototype)
一、介绍原型模式是在已指定对象的基础上,然后通过拷贝这些原型对象创建新的对象。 二、实例实例的UML图如下: 提供一个基本的原型工厂类,定义make方法和传入参数定义:public class PrototypeFactory { AbstractSpoon prototypeSpoon; AbstractFork prototype...2007-09-07 10:29:40 · 101 阅读 · 0 评论 -
单例模式(Singleton)
一、介绍单例模式是一种比较普遍和简单的模式,在我们的程序中经常会用到。简单的说就是,单例模式就是让一个类永远只对外发布唯一的实例(Instance)。 二、实例在本模式中介绍的例子中,SingleSpoon类拥有一个实例,声明为静态(static)私有(private)变量"theSpoon",核心代码内容如下:public class SingleSpoon { ...2007-09-17 11:29:00 · 102 阅读 · 0 评论 -
适配器模式(Adapter)
一、介绍适配器模式使得一个接口与其它接口兼容,从而给出多个不同接口的统一抽象。换句话说,该模式是将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 二、实例在本模式的实例部分,我们有一个TeaBag类,由TeaCup来支配使用,完成泡茶的这个过程。public class TeaBag { boolean tea...2007-09-27 11:12:24 · 162 阅读 · 0 评论