设计模式笔记(四):创建型-抽象工厂模式

抽象工厂模式(Abstract Factory Pattern)

意图

提供一个创建一系列相关或者互相依赖的对象接口,无需指定他们具体类

主要解决

解决接口选择问题

何时使用

系统产品多于一个产品族,而系统只消费其中某一族产品

如何解决

在一个产品族中定义多个产品

关键代码

在一个工厂里聚合多个同类产品

实例

假设生产衣服 有商务男装、商务女装、时尚男装、时尚女装等等、都放在各自种类衣柜中。衣柜就承当抽象工厂的作用。其中衣柜中上衣、裤子 都是单独的产品

优点

当一个产品族中多个对象被设计成一起工作的时候,它能保证客户端始终只使用其中一个产品族 不会乱套

缺点

产品族扩展困难。要增加一个系列的一个产品 既要在抽象工厂里面加代码又要在具体里面加代码

使用场景

1:qq换肤2:生成不同操作系统的程序

注意事项

产品族难维护。等级好扩展

个人总结:抽象工厂 用来生成工厂 然后来选择具体的产品

代码地址:https://github.com/xuxianyu/myGitHub/tree/master/DisignPattern/src/main/java/com/xxx/create/abstractfactory

你可能感兴趣的:(设计模式笔记(四):创建型-抽象工厂模式)