抽象工厂模式
1、 概念
抽象工厂模式(Abstract Factory Pattern)隶属于设计模式中的创建型模式,用于产品族的构建。抽象工厂是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂是指当有多个抽象角色时使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象。
2、 代码解析
首先来了解一下抽象工厂模式的工厂方法模式的结构
工厂方法模式我上一篇文章已经介绍
抽象工厂模式一样用生产水果来解释
创建一个水果接口
创建俩个具体对象类实现水果接口,但是不直接在这个类里返回值,也是创建一个抽象方法
接下来再创建两个类(进口和普通)来实现具体对象类
现在创建生产水果的工厂接口,里面包括生产苹果和香蕉的方法
创建一个生产进口水果工厂实现工厂接口
创建一个生产普通水果工厂实现工厂接口
接下来测试调用
3、 工厂方法模式和抽象工厂模式的比较
工厂方法模式中的每一个形态都是针对一定解决的解决方案,针对的是多个产品系列结构;
而抽象工厂模式针对的是多个产品族结构,一个产品族内有多个产品系列。