1. 需求: 设计一个电脑组装程序,用于组装品牌电脑。组装所用的配件(主板、硬盘、显示器)全部由品牌提供。比如组装一台联想的电脑,则主板、硬盘和显示全部由联想提供。(目前只有Lenovo和Dell两种品牌) 2. 分析 所有品牌的电脑组装流程都一样,不同的各家品牌有自己专用的配件,所以组装流程应该和获取配件两部分隔离开来。 3. 类图 抽象工厂模式主要用于创...
分类:
其他好文 时间:
2014-11-19 11:31:05
阅读次数:
198
1. 需求: 设计一个电脑组装程序,用于组装品牌电脑。组装所用的配件(主板、硬盘、显示器)全部由品牌提供。比如组装一台联想的电脑,则主板、硬盘和显示全部由联想提供。(目前只有Lenovo和Dell两种品牌) 2. 分析 所有品牌的电脑组装流程都一样,不同的各家品牌有自己专用的配件,所以组装流程应该和获取配件两部分隔离开来。 3. 类图 抽象工厂模式主要用于创...
分类:
其他好文 时间:
2014-11-19 01:28:35
阅读次数:
229
一、UML图
二、包含的角色
(1)抽象工厂
(2)具体工厂:包括具体工厂1和具体工厂2。具体工厂1用于生产具体产品A1和具体产品B1,具体工厂2用于生产具体产品A2和具体产品B2;
(3)抽象产品:包括抽象产品A和抽象产品B;
(4)具体产品:包括抽象产品A所对应的具体产品A1和A2,以及抽象产品B所对应的具体产品B1和B2.
说明:在《大话设计模式》中,上述的1和2分别代表...
分类:
编程语言 时间:
2014-11-17 00:36:03
阅读次数:
213
在阅读本文之前,请先阅读(一)和(二)中的简单工厂模式和工厂方法模式。
1抽象工厂模式简介
工厂方法 (Factroy Method)模式:又称多态性工厂模式(Polymorphic
Factory),在这种模式中,核心工厂不再是一个具体的类,而是一个抽象工厂,提供具体工厂实现的接口,具体创建产品交由子工厂去做,抽象工厂不涉及任何产品被实例化的细节。而不同等级的产品...
分类:
编程语言 时间:
2014-11-14 00:20:24
阅读次数:
248
定义:为创建一组相关或相互依赖的对象提供一个接口,并且无需指定他们的详细类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的差别 抽象工厂模式是工厂方法模式的升级版本号,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的差别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对...
分类:
其他好文 时间:
2014-11-13 14:23:33
阅读次数:
134
抽象工厂模式(Abstract Factory)C#实例本文出处http://www.dofactory.com/net/abstract-factory-design-pattern一、场景描述本实例描述了抽象工厂模式的一个使用场景。在动物世界弱肉强食,食肉动物会吃掉食草动物。这是动物世界的规律,...
抽象工厂模式
GOOD:定义了一个创建一系列相关或相互依赖的接口,而无需指定它们的具体类。
用于交换产品系列,如ACCESS->SQLSERVER;产品的具体类名被具体工厂的实现分离
例:
#include
#include
#include
using namespacestd;
//用户抽象接口
class IUser
{
pub...
分类:
其他好文 时间:
2014-11-06 22:07:38
阅读次数:
154
工厂模式是用封装对象创建的,包括简单工厂模式、工厂模式、抽象工厂模式。
简单工厂模式:
依赖原则:单一职责,分离程序变和不变的部分。
实现方式:不算真正意义上的工厂,只是把目标中创建对象的方法抽取出来,放到一个类中集中处理
模式优点:1.将程序中创建对象部分分离出来,放入一个类中进行集中管理,方便维护;2.分离部分可以考虑使用配置方式进行维护
模式缺点:1.仍然先天性...
分类:
其他好文 时间:
2014-11-06 17:33:30
阅读次数:
151
学习设计模式有一段时间了,对设计模式有一个体会,就是没那么难,就是设计程序遵循一些原则,让代码可复用,在修改的时候不用涉及太多的类,扩展方便,抽象工厂模式名字听起来抽象,但理解起来一点也不抽象,用语言可能不好理解,我喜欢通过代码理解,然后成为自己的东西。
抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
>以项目上线时想换另外一个数据库为例子...
分类:
其他好文 时间:
2014-11-04 15:04:52
阅读次数:
198
前面一章说的是工厂方法模式,我们知道工厂方法模式中的具体工厂角色与具体产品juese...
分类:
编程语言 时间:
2014-11-03 22:38:59
阅读次数:
184