简单工厂模式、工厂方法模式和抽象工厂模式

一、简单工厂模式

将创建对象和操作对象分离开来,实现解耦。简单工厂模式通过一个参数变量来决定实例化哪一个类,主要包括抽象产品类(提供公共方法),具体产品类(覆盖抽象产品类的公共方法)和产品工厂(根据参数实例化具体产品)三个部分。

二、工厂方法模式

如果需要新增一个产品,那么简单工厂模式就需要修改产品工厂类,这样就导致了对修改也开放了,违背了“开放-封闭”原则。工厂方法模式通过增加抽象工厂来让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。

工厂方法模式的主要包括抽象产品类(提供产品公共方法),具体产品类(覆盖抽象产品类的公共方法)、抽象工厂(提供工厂公共方法)、具体工厂(抽象工厂子类,生产具体类型产品)四个部分。

三、抽象工厂模式

当有多个业务线时可能需要两个或者多个相互影响的产品线,此时通过增加一个产品族类类约束不同产品线产品。抽象工厂模式主要包括产品族类(描述公共产品的公共接口)、抽象产品类(提供产品公共方法),具体产品类(覆盖抽象产品类的公共方法)、抽象工厂(提供工厂公共方法)、具体工厂(抽象工厂子类,生产具体类型产品)四个部分。

源码链接

参考文献:设计模式之禅、大话设计模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值