
C++设计模式
文章平均质量分 74
yyyuhan
本人还是一个在读的研究生
展开
-
C++设计模式之一:Factrory Pattern
Factory模式的两个最重要的功能:1)定义创建对象的接口,封装对象的创建;个人见解:核心的主要部分在于一个具体类上,Factory接收到请求自动判断提供什么产品,但是对于一个factory而言,倘若添加一个新的产品,需要做太多的改动,换句话来说,添加一个新的产品必须改动整个factory工厂。 #include using namesp原创 2008-10-26 16:36:00 · 1098 阅读 · 0 评论 -
C++设计模式之二:AbstractFactory Pattern
AbstractFactory模式就是用来解决这类问题的:要创建一组相关或者相互依赖的对象。 AbstractFactory模式关键就是将这一组对象的创建封装到一个用于创建对象的(ConcreteFactory)中,维护这样一个创建类总比维护n多相关对象的创建过程要简单的多。 AbstractFactory模式典型的结构图为: 代码如下://Abst原创 2008-11-04 22:45:00 · 904 阅读 · 0 评论 -
C++设计模式之三:Singleton Pattern
Singleton模式解决问题十分常见,我们怎样去创建一个唯一的变量(对象)?在基于对象的设计中我们可以通过创建一个全局变量(对象)来实现,在面向对象和面向过程结合的设计范式(如C++中)中,我们也还是可以通过一个全局变量实现这一点。但是当我们遇到了纯粹的面向对象范式中,这一点可能就只能是通过Singleton模式来实现了。 Singleton模式典型的结构图为原创 2008-11-05 00:11:00 · 581 阅读 · 0 评论 -
c++设计模式之四:Builder Pattern
Builder模式要解决的问题是,当我们要创建很复杂的对象时,有时候需要将复杂对象的创建过程和这个对象的表示分离开来。由于在每一步的构造过程中可以映入不同参数,所以步骤相同但是最后的对象却不一样。也就是说将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。 Builder模式的关键在于在创建一个复杂对象时,其组合过程往往涉及复杂原创 2008-11-05 02:20:00 · 1184 阅读 · 0 评论 -
C++设计模型之五:Prototype Pattern
Prototype模式并不是简简单单一个clone方法,Prototype模式的意义在于动态抽取当前对象运行时的状态,同时通过提供统一的clone接口方法,使得客户代码可以在不知道对象具体类型时仍然可以实现对象的拷贝,而无需运用type-switch检测对象的类型信息来分别调用创建方法来创建一个新的拷贝。 使用Prototype模式,在需要复制自身来创建新产品,不需原创 2008-11-05 04:41:00 · 1170 阅读 · 0 评论