前面说了简单工厂模式 + 工厂方法模式,今天来说一说抽象工厂模式:
抽象工厂模式用来干嘛的呢?我们这么来说:
比如 人:从肤色的维度有三种肤色
从性别的维度有两种性别
组合起来就是6种人(对应6中具体的实现),类似排列组合。
从设计角度来看,一个具体的对象通过两个 坐标就可以确定:肤色和性别,如图9-1所示。
设计模式(3):抽象工厂模式
那在创建这六种人的时候,我们就需有一个工厂既能确定人的性别、肤色。这就引入了我们的抽象工厂模式,老规矩咋们先看看类图:
设计模式(3):抽象工厂模式
代码结构图:
设计模式(3):抽象工厂模式
IHuman:
设计模式(3):抽象工厂模式
AbstractBlackHuman:
设计模式(3):抽象工厂模式
FemaleBlackHuman:
设计模式(3):抽象工厂模式
MaleBlackHuman:
设计模式(3):抽象工厂模式

IHumanFactory:
设计模式(3):抽象工厂模式

FamaleHumanFactory:
设计模式(3):抽象工厂模式
MaleHumanFactory:
设计模式(3):抽象工厂模式

测试类:NvWa女娲
设计模式(3):抽象工厂模式

总结:
设计模式(3):抽象工厂模式

相关文章: