抽象工厂模式(Abstract factory)

  • 工厂模式定义:对客户端而言,隐藏对象创建逻辑,也不需要使用new生成对象;
  • 工厂模式实现方式:
    • 创建一个接口如Shape;
    • 创建具体类实现Shape,比如圆形、方形、三角形;
    • 创建Shape的Factory,通过Shape类型来判断创建不同的具体类;
    • 最后客户端先创建一个Shape工厂,然后传递不同的shape类型参数获取具体类;

 

  • 抽象工厂定义:创建其它工厂的超级工厂;
  • 抽象工厂实现方式:
  • 创建一个接口如Shape和Color;
  • 创建具体的类实现上述各自的接口方法;
  • 创建一个抽象工厂类可得到Shape和Color对象;
  • 创建Shape和Color各自工厂类并集成抽象工厂类,可生产具体的Shape和Color类,比如圆形、方形、三角形;
  • 创建一个工厂生产者,该类可根据外部传进来的参数判断选择对应的工厂;
  • 最后使用这个工厂生产者,获得对应的工厂,并生产具体类。

 

 

  • JDK实例:;
  • 项目实例:各搜索领域通过工厂模式自动创建;
  • 优点:;
  • 缺点:;
posted @ 2018-08-31 09:37  岩文01  阅读(98)  评论(0编辑  收藏  举报