工厂模式也是为了构建一个新的对象,它是创建型模式的一种。
Android源码设计模式——Build模式(应用:AlertDialog源码分析)
上述是之前的Build模式,也是创建型模式一种,不懂的小伙伴可以回看下上篇博客。
工厂模式的定义
自我叙述:定义一个抽象产品类,然后继承该抽象类形成很多的子类,在子类相当于是个:成品的产品,也就是我们真正要构建的产品。在定义一个抽象类,该抽象类内部:创建子类的公共方法定义。在定义真正的工厂实现类,继承自该抽象类。
由此看下工厂模式的UML图:
UML图
![](https://img-blog.csdnimg.cn/20191209113413538.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xtcTEyMTIxMA==,size_16,color_FFFFFF,t_70)
上图,分四块:
- ABS Product —— 产品抽象类
- ConcreteProduct —— 产品实现类
- Abs Factory —— 抽象工厂类
- ConcreteFactory —— 工厂实现类
根据上述代码,写一个例子感受下,还是以我们的小汽车为例:<