三个老板的工厂(简单工厂,工厂方法,抽象工厂)

前言

今年我们村开了三家工厂啊,每一家工厂买的产品都有在卖,但是收益却是天差地别啊,很多人都郁闷为什么会这样呢,同样都是开工厂,产品又都在卖,为啥就盈利的不一样呢,今日小编就带领你们到工厂的内部,让我们一探究竟!
(如有异同请指出)

内容

各个工厂都是有名字的,第一个为简单工厂,第二工厂方法,第三抽象工厂,盈利也是从低到高的,我们首先走进简单工厂。

简单工厂

首先看简单工厂的内部结构例如UML图:
这里写图片描述
这家工厂主要生产的是公交车和卡车,当我们告诉简单工厂我们需要什么车的时候,简单工厂会为我们制作公交车或者是卡车,这样还不错哦,我们实现了逻辑与业务的分离,但是他为什么挣钱那么低呢?
缺点:简单工厂违背了我们 开放-封闭原则,如果我们想要再加一个产品的时候需要更给工厂类,所以他违背了开放-封闭原则,如果每增加一个产品就需要我们修改工厂,那技术人员还不累死啊,哈哈哈

工厂方法

小编再带你们走进工厂方法去看看。首先看内部结构UML图
这里写图片描述

从我们的uML图中大家有没有发现比简单工厂多了很多工厂啊,并且从工厂中我们可以看出不同的产品可以去找相应生产这种产品的工厂,这样就避免了我们简单工厂里的修改,当增加产品的时候只需要增加相应的工厂即可,提高可扩展。只需要抽象出一个工厂即可,怪不得挣得钱呢,可以生产很多产品,想要什么就要什么,那为什么抽象工厂不是挣钱最多的呢?
缺点:第一:当增加产品的时候就需要增加工厂,我们会发现有很多的类,额外开放,第二:我们需要在客户端写我们内部判断的逻辑,当增加产品的时候,需要我们修改客户端的内部逻辑判断。程序可真不好做,需要管理那么多的工厂,必须给程序员多开钱!

抽象工厂

小编带领大家到我们最有钱的工厂,首先看一下抽象工厂的UML图
这里写图片描述

从图中可以看出我们已经不再是制作某一个产品了,我们制作的是品牌,我们的品牌既可以做公交车也可以做卡车,这样就减少了我们工厂方法里面工厂多的问题并且也不用把逻辑放到我们的客户端上了,怪不得挣得钱多,但是小编还有申明一下,无论我们做什么事情都是希望越来越好的,抽象工厂也有他需要改进的地方
缺点当我们需要增加一个新的品牌的时候,我们会无能为力,因为我们需要修改抽象工厂和添加具体工厂,所以很麻烦的。
改进:但是我们可以通过简单工厂改进抽象工厂。利用一个接口与生产品牌的接口相连。这样就解决了抽象工厂的问题


总结:
简单工厂,工厂方法,抽象工厂都是属于创建型,为什么属于创建型?因为:我们组织过程固定的,但是对象的具体组成部分可以变化,例如电脑的cpu可以换一个牌子
想要成为首富必须把模式弄清楚哦,嘿嘿诶嘿嘿

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王雪芬-ghqr-264962

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值