设计模式观后(c++还原之六 虚拟工厂)

本文通过具体实例详细介绍了抽象工厂模式的概念及其应用场景。作者利用黄种人派生男人和女人的例子来说明当工厂需要处理两条相互关联的产品线时,如何通过抽象工厂模式进行设计。文中还提供了具体的类和方法定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//抽象工厂模式
//首先抽象工厂是工厂的扩展,书中对他的解释是当工厂出现俩个互相影响的产品线
//示例;
//作者将黄种人派生男人女人(黑种人,白种人一样)
//八卦炉基类(工厂类),生产三种人。再派生俩个类,让其生产男人女人。最后场景类调用。
//关系就像车的左右门一样

class AbstractProductA {
public:
	virtual void ShareMethod() {
		cout << "method";
	}
	virtual void DoSomething() {
		cout << "do";
	}
};
class ProductA1 : public AbstractProductA {
public:
	virtual void DoSomething() {
		cout << "do product1";
	}
};
class ProductA2 : public AbstractProductA {
public:
	virtual void DoSomething() {
		cout << "do product2";
	}
};

//当然AbstractProductB 像A那样,同理构造。
class AbstractProductCreat {
public:
	virtual AbstractProductA* CreateProductA() {}
	virtual AbstractProductB* CreateProductB() {}
};
class Creator1 : public AbstractProductCreat {
public:
	virtual AbstractProductA* CreateProductA() {
		return new ProductA1;
	}
	virtual AbstractProductB* CreateProductB() {
		return new ProductB1;
	}
};
//再实现产品等级二的实现类
//工厂调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值