【设计模式学习】工厂模式模拟多种格式的图片读取器

【工厂模式】模拟多种格式的图片读取器

作业:使用工厂模式设计一个程序来读取各种不同类型的图片格式,针对每一种图片格式都设计一个图片读取器,例如,GIF 图片读取器用于读取 GIF 格式的图片,JPG 图片读取器用于读取 JPG 格式的图片

1. 工厂模式的优点

  1. 在工厂方法模式中,工厂方法用来创建客户所需要的产品,同时向客户隐藏了哪种具体产品类将被实例化这一细节
  2. 基于工厂角色和产品角色的多态性设计师工厂方法模式的关键
  3. 使用工厂方法模式在加入新产品时,无需修改抽象工厂和抽象产品提供的接口

2. 工厂模式的缺点

  1. 添加新类需要写新的具体产品类和与之对应的工厂类
  2. 需要引入抽象层,增加系统的抽象度。

3. 适用场景

  1. 客户端不知道其所需要的对象的类
  2. 抽象工厂类通过其子类来指定创建哪个对象

4.UML 图

uml

5. 我的代码

我的代码