
设计模式
轻轻的一个吻
软件开发步行者
展开
-
设计模式C++描述-概述
<br />(未完待续)<br />近期在学习设计模式,看了一些书,查找了一些网上资料,终有所得,遂以笔记之。(因带有个人的学识、理解的局限性,本人并不保证其与四人团设计模式的完全吻合,仅为参考。)<br />阅读本读书笔记时最好要对设计模式有点了解,或边上有一本设计模式的书。<br /> <br />设计模式分类:<br />一、创建型<br />1、抽象工厂模式(abstract factory)<br />2、工厂方法模式(factory method)<br />3、单例模式(singleton)<原创 2011-05-16 12:22:00 · 161 阅读 · 0 评论 -
抽象工厂模式(abstract factory)
一、 作用 本模式是用来产生一系列相关或相依赖的对象。 二、 模型图 三、 参与者 1、AbstractFactory:一个,对外提供操作接口。 2、ConcreteFactory:多个,负责具体产品的生成。每一个具体的工厂都可以生成以下定义的一系列抽象新产品。 3、AbstractProduct1:一个。一系列产品中的一类抽象产品。 4、ConcreteProduct1:多个,继承自产品1。 5、AbstractProduct2:一个。一系列产品中的一类抽象产品。 6、ConcreteProduct2:多原创 2011-05-16 12:31:00 · 147 阅读 · 0 评论 -
工厂方法模式(factory method)
<br />一、 作用<br />本模式是用来产生一个或一类产品。这一类产品有一个共同的父类。<br />二、 模型图<br /> <br /> <br />三、 参与者<br />1、Creater:一个,对外提供操作接口。<br />2、ConcreteCreater:一个,负责具体产品的生成。<br />3、AbstractProduct:一个。一类抽象产品。<br />4、ConcreteProduct:多个,继承自AbstractProduct。<br /原创 2011-05-16 12:35:00 · 159 阅读 · 0 评论 -
单例模式(singleton)
<br />一、 作用<br />顾名思义本模式只能产生一个实例。<br />二、 模型图<br /><br /> <br />三、 参与者<br />singleton:一个,对外提供操作接口和实现,也有把接口和实现分开做的。<br />在单例的实现上有用静态数据成员的,也有用函数静态成员的。<br />四、 操作流程<br />采用本模式的类一般会实现一个静态的instance()成员函数,外界调用这个函数就可以得到一个实例。如果你想显示实例化一般原创 2011-05-17 09:01:00 · 127 阅读 · 0 评论 -
创建者模式(builder)
<br />一、 作用<br />创建一个复杂的对象,该对象有多个组成部分,一一创建完后再组装起来。书上说是创建与表示分离。<br />二、 模型图<br /> <br /> <br />三、 参与者<br />builder:一个,抽象的创建接口,封装了各个部分的创建方法。<br />concretebuilder:多个,具体负责产品的各个部分的创建。<br />director:一个,负责调用各个concretebuilder的创建方法,组装成产品。<br />原创 2011-05-17 09:03:00 · 227 阅读 · 0 评论 -
桥接模式(bridge)
<br />一、 作用<br />指的是把一件事的抽象和行为分开来。抽象可以简单地理解为属性,即把对象的属性和行为分开,降低耦合,这样便于扩展。<br />二、 模型图<br /> <br /> <br />三、 参与者<br />abstraction:一个抽象类,维护一个指向implementor的指针。<br />RefinedAbstraction:一个具体的对象。<br />implementor:一个抽象类,定义行为的接口。<br />ConcreteI原创 2011-05-17 09:08:00 · 206 阅读 · 0 评论 -
原型模式(prototype)
<br /> 一、 作用<br />创建一个对象时,采用复制一个已有对象来实现,这用来创建复杂对象时较好些。<br />二、 模型图<br /> <br /> <br />三、 参与者<br />prototype:一个,提供一个抽象的克隆接口。<br />concreteprototype:多个,具体负责产品的创建和克隆。<br />四、 操作流程<br />当须要一个产品时,利用一个已有的同类产品采用复制投入手段来生成。目前对这种有浅克隆和深克隆的原创 2011-05-17 09:05:00 · 175 阅读 · 0 评论 -
适配器模式(adapter)
<br />一、 作用<br />为一个内容合适但接口不匹配的对象创建一个新的接口,使它适合当前客户调用。其实我们经常封装函数就是这样。<br />二、 模型图<br />类适配:采用多继承的方式来实现<br /><br />对象适配:采用内部包含被适配的类来实现 <br /><br />三、 参与者<br />target:一个当前使用的接口。<br />adaptee:一个已经存在的接口,这个接口与当前要使用的不符,即须要适配。<br />adapter:一个,原创 2011-05-17 09:07:00 · 190 阅读 · 0 评论