工厂模式概述

前言

工厂顾名思义就是创建产品,本质就是用工厂方法代替new操作创建一种实例化对象的方式。根据不同的实现方式和抽象级别可分为简单工厂,工厂方法和抽象工厂三种模式

一、简单工厂

定义

简单工厂模式又叫做静态工厂方法模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。

优点

  • 实现了对责任的分割,隔离了变化,因为它提供了专门的工厂类用于创建对象
  • 通过配置文件,可以在不修改任何客户端代码的情况下更换和增加新的具体产品类,在一定程度上提高了系统的灵活性

缺点

  • 集中了所有实例的创建逻辑,违反了单一职责原则
  • 扩展困难,一旦添加新产品就不得不修改工厂逻辑,违反了开闭原则

二、工厂方法

定义

定义一个工厂父类,工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象。即将类的实例化延迟到工厂类的子类中完成,即有子类来决定应该实例化哪一个类。

优点

  • 符合设计原则

缺点

  • 类的个数成倍增加,增加了系统的复杂度

三、抽象工厂

定义

抽象工厂是工厂方法的升级版,为相关的或者相互依赖的对象提供统一的接口,而且无需指定他们的具体实现类

优点

  • 对产品族进行约束,封装性好

缺点

  • 产品族扩展困难,添加一个产品需要修改抽象和具体工厂类,违背开闭原则
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值