创建型设计模式.简单工厂模式

一、概念

1.1、定义

又称为静态工厂方法(Static Factory Method)模式,可以根据参数Key的创建并返回不同的实例。


SimpleFactory.png
  • Factory,工厂类: 负责根据不同入参,创建不同的实例对象
  • Product,产品抽象类: 产品类的抽象类或者接口,方便产品的扩展
  • ConcreteProduct,具体产品类: 具体扩展的产品类
1.2、解决的问题
  • 解决问题:对继承同一个抽象基类或者接口的产品类的实例化过程进行封装。

二、模式的应用和优缺点

2.1、应用场景
  • 应用实例:JDK类库中广泛使用了简单工厂模式,如工具类java.text.DateFormat,它用于格式化一个本地日期或者时间。 public final static DateFormat getDateInstance(int style);
  • 应用实例:Java加密技术,获取不同加密算法的密钥生成器KeyGenerator keyGen=KeyGenerator.getInstance("DESede");
2.2、优缺点
  • 优点:
    对类的实例化过程的统一封装,提高代码可复用性,降低系统耦合度。
    可以将传入的参数进行写入文件,动态的配置类的创建过程。

  • 缺点:优点即是缺点,类实例化全部集中于一个类方法中,扩展变的不容易,也不符合开闭原则。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 定义:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为简单工厂模式中用...
    NullPointers阅读 2,563评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,058评论 19 139
  • 一个UML类图 类之间的关系 类的继承结构表现在UML中为:泛化(generalize)与实现(realize) ...
    僚机KK阅读 3,899评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,875评论 18 399
  • 20171028能量世界92天 我怎么如此幸运在在帮助陌生人时没有担心了 我怎么如此幸运早上吃到了非常舒服醪糟荷包...
    史德波阅读 1,454评论 1 0

友情链接更多精彩内容