设计模式-工厂模式(简单工厂和抽象工厂区别)

设计模式-工厂模式(简单工厂和抽象工厂区别)

参考网址:

https://blog.csdn.net/qq_33732195/article/details/110101808?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165579857916782350943253%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165579857916782350943253&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-110101808-null-null.142v19control,157v15new_3&utm_term=%E6%8A%BD%E8%B1%A1%E5%B7%A5%E5%8E%82&spm=1018.2226.3001.4187

前置说明:

之前学习工厂模式总是遗忘 , 特别是抽象工厂 , 概念比较模糊 , 通过类图和脑图的方式理解思路就会比较清晰 , 看来画图是理解一个知识点更好的一个方法

前置概念

理解产品族和产品等级

产品族:一个品牌下面的所有产品;例如华为下面的手机,路由器,电脑 称为华为的产品族;

产品等级:多个品牌下面的同种产品;例如华为和小米下面的手 称为一个产品等级;

以上图参考了文章地址

抽象工厂的有优缺点

缺点

  • 产品族扩展非常困难,要增加一个系列的某一产品,既要修改工厂抽象类里加代码,又修改具体的实现类里面加代码;
  • 增加了系统的抽象性和理解难度;

优点

一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象(将一个系列的产品统一一起创建);

适用场景

  • 一系列相关产品对象(属于同一产品族)一起创建时需要大量的重复代码;

  • 一系列相关产品对象(属于同一产品族)一起创建时需要大量的重复代码;

  • 提供一个产品类的库,所有的产品以同样的接口出现,从而使得客户端不依赖于具体的实现;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值