《每日编程》----《设计模式》----《一》----工厂方法模式和抽象工厂模式

一直以来都没有好好学习设计模式,最近刚从朋友那拿来一本书《GoF+23种设计模式解析附C++实现源码》,决定把里面的代码全部实现一遍,然后留下笔记。

原文出处:http://blog.csdn.net/lengzijian/article/details/8020776

1.工厂方法:

一个抽象产品类,派生出多个具体的产品类

一个抽象工厂类,派生出多个具体的工厂类

每个具体的工厂类,只能创建一个具体的产品类实例

如图:

《每日编程》----《设计模式》----《一》----工厂方法模式和抽象工厂模式_第1张图片

实现代码地址(在linux下,make即可):https://github.com/lengzijian/factory

2.抽象工厂模式

多个抽象产品类,每个抽象产品类可以派生出多个具体产品类

一个抽象工厂类,派生出多个具体工厂类

每个具体工厂类可以创建出多个具体产品类的实例

如图:
《每日编程》----《设计模式》----《一》----工厂方法模式和抽象工厂模式_第2张图片

实现代码地址(在linux下,make即可):https://github.com/lengzijian/AbstractFactory

区别:

工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。

工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。

你可能感兴趣的:(抽象工厂模式)