一、抽象工厂模式
为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。
二、抽象工厂模式UML图
抽象工厂的角色职责:
抽象工厂(Abstract Factory)角色:给具体的工厂子类提供接口。
具体工厂(Concrete Factory)角色:这个角色直接在客户端的调用下创建产品的实例。这个角色含有选择合适的产品对象的逻辑,是与应用系统的商业逻辑紧密相关的。
抽象产品(Abstract Product)角色:给具体的产品子类提供接口
具体产品(Concrete Product)角色:抽象工厂模式所创建的任何产品对象都是某一个具体产品类的实例。
三、代码实现
1.抽象工厂类
2.抽象产品类
3.抽象department类
4.产品子类
五、工厂子类:
六、 department 子类
七、客户端调用
由于截图的原因,客户端调用测试我只截取了phone的调用,其他2个都是类似。