工厂模式、抽象工厂模式、建造者模式的区别和联系
1.工厂模式和抽象工厂模式之间的关系
- 抽象工厂模式可以看成是两层工厂模式:
- 第一层工厂模式(底层工厂模式的应用),实现根据参数创建具体的类对象的逻辑,如通过shapeFactory获取circle
- Shape shape1 = shapeFactory.getShape("CIRCLE");
- 第二层工厂模式(上层工厂模式的应用),实现根据参数选择具体的工厂类对象的逻辑,如通过abstractFactory获取shapeFactory
- AbstractFactory shapeFactory = FactoryProducer.getFactory("SHAPE");
2.三种设计模式的对比
-
设计模式 工厂模式 抽象工厂模式 建造者模式(Builder Pattern) 核心思想 关心具体应该生产哪个产品 关心应该某一具体产品应该由哪个工厂来生产 要求按照指定的蓝图构造某个复杂产品