我们经常会碰见在系统中需要创建各式各样的对象,除了直接new 这种(pu tong)骚操作,我们还有什么办法呢?
答案就是我们今天讲的主角:工厂方法模式,我们先看看工厂方法模式(简单工厂方法)的类图:
女娲造人的类图:
代码结构如下:
具体代码:AbstractHumanFactory
HumanFacrtory:
IHuman:
BlackHuman:
WirteHuman:
YellowHuman:
NvWA女娲:
测试结果:
简单工厂方法模式,在实际中使用还是比较多的,比如:slfj中的获取日志实例。
接下来我们对简单工厂方法进行扩展:其实就是将单工厂扩展为多工厂,就是每一种人类定义一种工厂,先看类图:
这样扩展有一个好处,就是能够明确的知道什么人类是什么工厂生产的,具体的代码结构如下:
实现类以及接口定义:
AbstractHumanFactory:
BlackHUmanFactory:
IHuman:
BlackHuman:
看看怎么使用:
NvWa女娲 类:
测试结果:
扩展就这么简单。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。