码迷,mamicode.com
首页 > 其他好文 > 详细

抽象工厂模式

时间:2015-08-03 11:38:25      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:工厂模式   抽象工厂   设计模式   c++   架构   

一、概念

抽象工厂允许客户使用抽象的接口来创建一组相关的产品,而不需要知道实际产出的具体产品是什么。

二、模式结构图

技术分享

三、例子

技术分享

class ClothesFactory
{
	public:
		virtual Ups makeUps() = 0;
		virtual Downs makeDowns() = 0;
};
class SpringClothesFactory : public ClothesFactory
{
	public:
		Ups makeUps()
		{
			return new SpringUps();
		}
		Downs makeDowns()
		{
			return new SpringDowns();
		}
};
class AutumnClothesFactory : public ClothesFactory
{
	public:
		Ups makeUps()
		{
			return new AutumnUps();
		}
		Downs makeDowns()
		{
			return new AutumnDowns();
		}
};

四、优缺点

     1、优点

       a、增加新的具体工厂和产品族很方便,已写好的代码无需修改,满足开闭原则。

        b、分离了具体的类。

        c、产品族具有约束性,有利于产品的一致性。

      2、缺点

         a、增加新的产品修改比较麻烦,需要修改抽象工厂和所有的具体工厂类。


版权声明:本文为博主原创文章,未经博主允许不得转载。

抽象工厂模式

标签:工厂模式   抽象工厂   设计模式   c++   架构   

原文地址:http://blog.csdn.net/sharing_li/article/details/47211347

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!