设计模式——工厂模式

1.工厂模式的主要目的是:实现了调用者和创建者分离,实例化对象,使用工厂类方法来替代new操作,将实现类,创建对象统一管理和控制。从而将调用者和实现类进行解耦。

2.工厂模式 类型:

  1. 简单工厂模式:用来生产已知的产品(对于新增的产品需要修改工厂类,违背了面向对象的ocp原则),示例代码链接简单工厂模式代码
  2. 工厂方法模式:弥补了简单工厂模式中违背了OCP原则,对于新增的产品不需要修改之前的代码,只需要添加新的工厂类工厂方法模式代码
  3. 抽象工厂模式:用于新增产品族(不同产品的集合,可能每个产品有不同的配置组合在一起)抽象工厂模式代码

3简单工厂和工厂方法的优缺点:

  1. 结构复杂度:简单工厂只需要一个工厂类就可以,而工厂方法模式产品越多,工厂类就越多。
  2. 代码复杂度:简单工厂中的工厂类随着产品的增加,比较复杂每个产品都在一个工厂类中生产;工厂方法模式每个工厂类就只生产单个产品。
  3. 客户端编码难度:简单工厂模式直接使用静态方法创建工厂,而工厂方法模式需要对工厂类实例化。
  4. 虽然工厂方法模式符合OCP原则,实际上我们一般使用简单工厂模式。

4.应用场景:

  1. JDK中Calendar的getInstance方法
  2. JDBC中Connection对象的获取
  3. Hibernate中SessionFactory创建Session
  4. spring中IOC容器创建管理bean对象
  5. XML解析时的DocumentBuilderFactory创建解析器对象
  6. 反射中Class对象的newInstance()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值