Java 杂谈JavaWeb

设计模式——简单工厂

2019-01-20  本文已影响5人  大黑跟小白的日常

简单工厂

什么是工厂?

集中产生产品、对外提供生产的产品的地方就是工厂。

1、产品接口

2、产品1类

3、产品2类

4、简单工厂

为什么要用这种模式

Human hm = HumanFactory.getHumanInstance(HumanType.MAN);

1、对于客户端来说,我们需要某个对象只是想使用它,我们无需来创建它。

2、将创建对象的方式集中管理,易于维护。

3、解耦。将使用对象跟创建对象分开,如果创建对象的逻辑有变动,不会影响到使用对象的逻辑

4、获取对象的方式可以更形象、具体。

缺点描述

如果增加产品类,需要改动获取产品实例的方法逻辑,需要增加相应的判断逻辑跟实例化逻辑。工厂方法还是需要改动。

秉承开闭原则——对增加开放,对修改关闭

改进工厂

工厂接口

改进后的工厂

测试

如此,就可以在增加新产品类型时,就只需要增加枚举实例,不需要改动工厂方法里的逻辑。

上一篇 下一篇

猜你喜欢

热点阅读