摘要: singleton单件模式——对象创建型模式1.意图保证一个类只有一个实例,并且提供一个全局的访问点2.动机让类自身负责保存他的唯一实例。这个类可以保证没有别的实例可以被创建,并且可以提供一个访问该实例的方法3.适用性当类智能有一个实例而且客户可以从一个众所周知的访问点访问它时当这个唯一的实例应该是通过子类化可扩展时,并且客户应该无需修改代码就可以使用一个扩展的实例时。4.结构5.参与者singleton定义一个instance操作,允许客户访问它的唯一实例,instance是一个类操作可能负责创建他自身的唯一实例6.协作客户只能通过instance访问类的唯一实例7.效果1)对唯一实例的受控 阅读全文
posted @ 2012-05-18 22:36 w0w0 阅读(173) 评论(0) 推荐(0)
摘要: Prototype原型模式——对象创建型模式1.意图用原型示例制定创建对象的种类,并且通过拷贝这些原型创建新的对象。“创建一个对象,用一个原型指定它的种类,拷贝只是一种手法,不是目的。”2.适用性当一个系统应独立于它的产品创建、构成和表示时要用prototype模式要实例化的类在运行时刻指定的为了避免创建一个与产品类层次平行的工厂类层次时当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并且克隆他们可能比每次用合适的状态手工实例化更加方便一些。3.结构参考:http://www.cnblogs.com/hjqxaly/archive/2010/09/09/1822460.htm 阅读全文
posted @ 2012-05-18 21:38 w0w0 阅读(135) 评论(0) 推荐(0)
摘要: Factory method工厂方法——对象创建型模式1.意图定义一个用于创建对象的接口,让子类决定实例化哪个类。使一个类的实例化延迟到其子类2.别名虚构造器(virtual constructor)3动机框架使用抽象类定义和维护对象之间的关系。这些对象的创建通常也由框架负责。一个框架中有两个抽象类Application和Document,因为被实例化的Document子类和特定应用相关,所以Application不知道哪个Document类将被实例化。仅知道一个文档何时被创建,但是不知道哪一种Document被创建,就产生了一个问题:框架必须实例化类,但是他只知道不可被实例化的抽象类。App 阅读全文
posted @ 2012-05-18 20:15 w0w0 阅读(218) 评论(0) 推荐(0)
摘要: Builder 生成器——对象创建型模式1.意图将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示2.动机一个RTF文档交换格式的阅读器应该能将RTF转换成多种正文格式。要能够容易地实现新的转换,同时不改变RTF阅读器3.适用性当创建复杂对象的算法应独立于该对象的组成部分以及他们的装配方式时当构造过程必须允许被构造的对象有不同的表示时。4.表示用一张别人的图http://www.cnblogs.com/woainilsr/archive/2012/04/05/2433153.html5.参与者builder为创建一个product对象的各个部件指定抽象接口Concrete 阅读全文
posted @ 2012-05-18 18:25 w0w0 阅读(268) 评论(0) 推荐(0)