1、我们以文具为例,有三种文具:钢笔、橡皮擦和尺子,它们分别有How品牌和Hello品牌。我们现在先写Pen接口,接口里面有个write方法,凡是继承Pen接口都必须实现这个方刮茕栓双法,因为写字是每一支钢笔都必须具有的能力,但每种品牌的钢笔的写字效果又是不一样的。
2、接下来,再写一个橡皮擦接口。
3、这是尺子接口。
4、然后,我们创建一个工厂接口,里面有三个方法:创建钢笔方法、创建橡皮擦方法、创建尺子方法。
5、这是How品牌的工厂类,它专门生产How品牌的钢笔、橡皮擦、尺子。
6、这是Hello品牌的工厂类。
7、最后,我们用Factory接口定义一个引用”howFactory“,这个引用可以指向它的实现类对象”new HowFactory()“,接下来就可以生产这个品牌的文具了。
8、优点:可以一个工厂生产多种有关联的产品;添加新的品牌非常简单。缺点:添加新的产品非常麻烦。比如要新增HM品牌非常简单,但如果要新增圆规这个新的产品将会非常麻烦。