设计模式之工厂方法

工厂方法

定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。

工厂方法让类把实例化推迟到子类,所谓的决定并不是批模式允许子类本身在运行时做决定,而是指在编写创建者类时,不需知道创建的产品是哪一下,选择了使用哪个子类,就决定了实际创建的产品是什么。

如图:


Paste_Image.png

举例:


工厂方法.png

抽象工厂方法

用于在多个产品族的情况下,每个产品族派生出具体的产品。
如图:


抽象工厂方法.png

举例:

抽象工厂方法例子.png

工厂方法、抽象工厂方法

工厂方法模式

* 针对的是一个产品等级结构
* 一个抽象产品类
* 可以派生出多个具体产品类
* 一个抽象工厂类,可以派生出多个具体工厂类
* 每个具体工厂类只能创建一个具体产品类的实例

抽象工厂模式
* 针对的是面向多个产品等级结构
* 多个抽象产品类
* 每个抽象产品类可以派生出多个具体产品类
* 一个抽象工厂类,可以派生出多个具体工厂类
* 每个具体工厂类可以创建多个具体产品类的实例

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容