摘要: 概述 建造者模式,又称生成器模式,将产品内部的表象与产品的生成过程分离,从而可以使用同样的过程或者方法来建造具有不同内部表象的产品对象。使用builder模式后,用户只用指定建造的类型就可以获得他们,而具体的建造过程和细节就不想需要知道了。这里引用另外一个可能比较具体的描述:”在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的 “稳定构建算法”不随着需求改变 阅读全文
posted @ 2013-11-07 17:48 RubbyZhang 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 原型模式(prototype)用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。允许一个对象再创建另外一个新对象的时候根本无需知道任何创建细节,只需要请求圆形对象的copy函数皆可。1原型模式构成客户(Client)角色:客户类提出创建对象的请求。抽象原型(Prototype)角色:这是一个抽象角色,C++实现的抽象类,此角色给出所有的具体原型类所需的接口。具体原型(Concrete Prototype)角色:被复制的对象。此角色需要实现抽象原型角色所要求的接口。2原型模式C++实现(1)通过C++的拷贝构造函数实现(2)clone()函数返回的类是基类,建议通过static_c 阅读全文
posted @ 2013-11-07 13:38 RubbyZhang 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 可能自己习惯自由一点吧,在公司似乎也有点太自由自在,让人觉得我太不进取,所以这些所谓的大功能就轮不到我来折腾了,好吧,其实现在给自己充足的时间看书还是蛮不错的,至少每天觉得过的很充实。设计模式正在学习,至少今天把简单工厂,工厂以及抽象工厂看了一下,前两个写了一下代码,抽象工厂还没来得急写,觉得理解还不够,这周剩余时间可能不会不会再去花大量时间去看设计模式,转会directX的学习,把之前看的代码... 阅读全文
posted @ 2013-11-07 00:05 RubbyZhang 阅读(291) 评论(0) 推荐(0) 编辑