设计模式-工厂方法模式

定义:

是对简单工厂模式的进一步抽象化

优缺点:

优点:
用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程。
缺点:
类的个数容易过多,增加复杂度

应用场景:
  • 客户只知道创建产品的工厂名,而不知道具体的产品名。如 TCL 电视工厂、海信电视工厂等。
模式的结构与实现
  1. 模式的结构
    工厂方法模式的主要角色如下。
  • 抽象工厂(Abstract Factory):提供了创建产品的接口,调用者通过它访问具体工厂的工厂方法 newProduct() 来创建产品。
  • 具体工厂(ConcreteFactory):主要是实现抽象工厂中的抽象方法,完成具体产品的创建。
  • 抽象产品(Product):定义了产品的规范,描述了产品的主要特性和功能。
  • 具体产品(ConcreteProduct):实现了抽象产品角色所定义的接口,由具体工厂来创建,它同具体工厂之间一一对应。


    ezgif-3-4a08b9c4e6b4.png

代码:
https://github.com/lrchao/DesignPattern/tree/master/app/src/main/java/com/lrchao/designpattern/factory_method

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容