【创建型模式】abstract factory(抽象工厂)

1.意图
提供一个创建一系列相关或者互相依赖对象的接口,而无须制定其他具体的类。也就是说有一组工厂,他们都生产互相依赖的对象,所以他们可以抽出一个抽象工厂。

2.别名
kit


3.动机
比如有一个奶制品工厂,有好几个产品线,比如有豆奶产品线,有牛奶产品线等等。这个时候就可以使用这个模式。或者说设计一个论坛的样式,有windows风格,有macos风格等等。

4.适用性

• 一个系统要独立于它的产品的创建、组合和表示时。
• 一个系统要由多个产品系列中的一个来配置时。
• 当你要强调一系列相关的产品对象的设计以便进行联合使用时。
• 当你提供一个产品类库,而只想显示它们的接口而不是实现时。

5.优缺点
有利于维护不同的产品线,但是当你要增加新产品的时候,就非常的麻烦。


6.图例

这里以论坛为例

[img]/upload/attachment/104806/4a377959-b4c5-3d11-bc6e-ebe2d8c01c0c.jpg[/img]

你可能感兴趣的:(设计模式)