摘要: 1.1.4单态模式 保证一个类仅有一个实例,提供一个访问它的全局访问点。适用性 1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。 参与者 Singleton 定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类操作。 可能负责创建它自己的唯一实例。类图例子Singletonpublic class Singleton { private static Singleton sing; private Singleton() { ... 阅读全文
posted @ 2012-08-22 17:06 星语心愿~ 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 1.1.3建造者模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。适用性 1.当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2.当构造过程必须允许被构造的对象有不同的表示时。 参与者 1.Builder 为创建一个Product对象的各个部件指定抽象接口。 2.ConcreteBuilder 实现Builder的接口以构造和装配该产品的各个部件。 定义并明确它所创建的表示。 提供一个检索产品的接口。 3.Director 构造一个使用Builder接口的对象。 4.Product 表示被构造的复杂对象。ConcreteBuilder创建该产 阅读全文
posted @ 2012-08-22 16:36 星语心愿~ 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 1.1.2抽象工厂提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。适用性 1.一个系统要独立于它的产品的创建、组合和表示时。 2.一个系统要由多个产品系列中的一个来配置时。 3.当你要强调一系列相关的产品对象的设计以便进行联合使用时。 4.当你提供一个产品类库,而只想显示它们的接口而不是实现时。 参与者 1.AbstractFactory 声明一个创建抽象产品对象的操作接口。 2.ConcreteFactory 实现创建具体产品对象的操作。 3.AbstractProduct 为一类产品对象声明一个接口。 4.ConcreteProduct 定义一个将被相应的具体工厂创建的 阅读全文
posted @ 2012-08-22 11:13 星语心愿~ 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 1.1.1工厂方法 定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。适用性 1.当一个类不知道它所必须创建的对象的类的时候。 2.当一个类希望由它的子类来指定它所创建的对象的时候。 3.当将创建对象的职责委托给多个帮助子类中的某一个,并且*希望将哪一个帮助子类是代理者这一信息局部化的时候。 参与者 1.Product 定义工厂方法所创建的对象的接口。 2.ConcreteProduct 实现Product接口。 3.Creator 声明工厂方法,该方法返回一个Product类型的对象* Creator也可以定义一个工厂方法的缺省实现 阅读全文
posted @ 2012-08-22 09:56 星语心愿~ 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 1. 设计模式1.1 创建型模式1.1.1 工厂方法1.1.2 抽象工厂1.1.3 建造者模式1.1.4 单态模式1.1.5 原型模式1.2 结构型模式1.2.1 适配器模式1.2.2 桥接模式1.2.3 组合模式1.2.4 装饰模式1.2.5 外观模式1.2.6 享元模式1.2.7 代理模式1.3 行为型模式1.3.1 责任链模式1.3.2 命令模式1.3.3 解释器模式1.3.4 迭代器模式1.3.5 中介者模式1.3.6 备忘录模式1.3.7 观察者模式1.3.8 状态模式1.3.9 策略模式1.3.10 模板方法1.3.11 访问者模式 阅读全文
posted @ 2012-08-22 09:48 星语心愿~ 阅读(269) 评论(0) 推荐(0) 编辑