1、基本介绍
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
2、具体实现
在上一章 工厂方法模式的基础上,增加再增加PC系列产品的抽象类以及实现;
定义PC抽象接口
public interface PC {void make();}
定义PC实现类
public class MiPC implements PC{public MiPC() {this.make();}@Overridepublic void make() {System.out.println("造小米电脑");}}public class MAC implements PC{public MAC() {this.make();}@Overridepublic void make() {System.out.println("造苹果电脑");}}
定义工厂
public interface AbstractFactory {Phone makePhone();PC makePC();}
工厂实现 ```java public class AppleFactory implements AbstractFactory { @Override public Phone makePhone() {
return new IPhone();
} @Override public PC makePC() {
return new MAC();} } public class XiaoMiFactory implements AbstractFactory { @Override public Phone makePhone() {
return new MiPhone();} @Override public PC makePC() {
return new MiPC();} }
- 测试
```java
public class demo {
public static void main(String[] arg) {
//小米工厂造小米产品
AbstractFactory miFactory = new XiaoMiFactory();
miFactory.makePhone();
miFactory.makePC();
//苹果工厂造苹果产品
AbstractFactory appleFactory = new AppleFactory();
appleFactory.makePhone();
appleFactory.makePC();
}
}

