设计模式之工厂三姐妹解读(三)

解读工厂三姐妹(三)

现在我们来说一下,工厂三姐妹中的公主吧!就是老三----抽象工厂模式啦!

想信通过我们说了这么多大家一定对设计模式感兴趣了,对工厂三姐妹的老大老二也有了一些比较清晰的认识了。   老规矩啦,先来一波定义所谓的抽象工厂模式:提供创建一系列相关或者相互依赖对象的接口,而无需指定具体的类。好像看起来更加抽象了耶! 那好吧我们先用我们自己的话来说说它吧。之前呢我们的运算都只能算是一类的操作也就是运算,现在我们来换一个谈论的对象,假如说我们要对数据库进行操作的话,现在市面上有很多种数据库,如果我们使用工厂方法模式的话,将会对每一个数据库都要写一遍这真是太繁琐了。有了抽象工厂模式,我们只需要定义一个抽象的的类该类具有所有的操作的接口,然后我们继续对这个抽象的类进行继承,但是我们并不去直接的生产类,而是将类的接口不同的方法实现。

#include <iostream>
using namespace std;
class idepartment
{
	virtual void insert() = 0;

};

class Sqlerver:public idepartment
{
	virtual void insert(){cout << "向SQL中插入一条语句!";};
};

class Acess:public idepartment
{
	virtual void insert(){cout << "向Acess中插入一条语句!";};
};

class Factory
{
	virtual idepartment* CreateaInsert() = 0;
};
class SqlFactory
{
	virtual idepartment* CreateaInsert()
	{
		idepartment* id = new Sqlerver;
		return id;
	}
};

class AcessFactory
{
	virtual idepartment* CreateaInsert()
	{
		idepartment* id = new Acess;
		return id;
	}
};
现在我们应该可以看到了抽象工厂模式和工厂方法模式的差别了吧,在工厂方法模式中,我们只是将任务派发给不同的子类,现在我们将任务再一次的抽象然后在子类中将抽象的方法不同的实现,再用相应的工厂子类去进行实例化,下面又到了我们图解抽象工厂设计模式的时候了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值