7.设计模式--抽象工厂模式(AbstractFactory模式)

1.定义

抽象工厂模式也是一种创建型模型,是对工厂的一种抽象,可以理解为生产工厂的工厂。不但工厂是抽象的,产品是抽象的,而且有多个产品需要创建,因此,这个抽象工厂会对应到多个实际工厂,每个实际工厂负责创建多个实际产品。

例如手机和电脑都是通过工厂进行生产的,同时手机和电脑可能属于不同的工厂,但可能是同一个品牌;小米手机和小米电脑属于同一品牌,而华为手机和电脑也属于同一品牌,但是却存在两个维度。

1,产品维度,无论小米手机还是华为手机都属于手机,无论小米电脑还是华为电脑都属于电脑。
2.公司维度,小米手机和小米电脑属于小米公司,而华为手机和华为电脑都属于华为公司。

2.抽象工厂结构图

其中Factory扮演工厂的抽象角色,而Factory1和Fatcory2是具体的工厂角色负责生产。同时ProductA扮演产品的抽象角色,而ProductA1、ProductA2则扮演的是具体的产品角色,是被具体的工厂进行生产的。

图片

3.抽象工厂代码实现

ProductFactory就是工厂的抽象角色,他并不知道产品该怎么被生产,所以只是规定了能够生产哪些产品,比如电脑产

你可能感兴趣的:(深入理解Java设计模式,抽象工厂模式,java)