工厂方法 - FactoryMethod

定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。

举例:学校使用得力品牌的笔。后期学校需要晨光牌的笔,只需换为晨光工厂即可。
类图
工厂方法 - FactoryMethod_第1张图片
客户端

#include 

#include "ChenguangFactory.h"
#include "DeliFactory.h"
int main(int argc, char *argv[])
{
	Factory *factory = new DeliFactory();  // 得力的笔工厂
	//Factory *factory = new ChenguangFactory();  // 晨光的笔工厂
	Pen *pen1 = factory->constructe();
	Pen *pen2 = factory->constructe();
	Pen *pen3 = factory->constructe();

	// 书写
	pen1->write();
	pen2->write();
	pen3->write();

	getchar();
	return 0;
}

源码地址

你可能感兴趣的:(设计模式,C++)