0
点赞
收藏
分享

微信扫一扫

通过《西游记》学习设计模式--工厂方法

彪悍的鼹鼠 2021-09-30 阅读 61
随笔

是不是在面试等一些场景时,会被问到涉及模式呢?让你详细讲的时候,你却不知怎么描述,因为这里面涉及23种涉及模式,靠死记硬背当时是记得很清楚,但是时间一久就忘得差不多了,今天让我用故事的方式给你理一下设计模式吧。

首先,你没猜错,我们讲的是工厂方法。我们用《西游记》孙悟空借兵器的故事来阐述工厂方法设计模式。

开始故事:

美猴王学成本领归来,唯独缺少一件兵器,这时候牛魔王告诉孙悟空东海龙王有很多上好的兵器,可以去东海龙宫讨一件趁手的兵器。


孙悟空其实并不确定什么样的兵器适合自己,向东海龙王索要趁手的兵器,于是前后试了大刀、双锤、九股钢叉等兵器,结果都不满意,最后东海龙王无奈,祭出大杀器--如意金箍棒,并讲述这是当年大禹治水留下的神铁,最终孙悟空最终得到了满意的武器。

1、故事中的角色

接下来我们开始梳理一下整个故事中,涉及到和工厂方法相关的组件:

东海龙王------兵器工厂(负责提供兵器)

孙悟空 ----------获得金箍棒的具体工厂

如意金箍棒----具体的产品(兵器的一种)

三者之间的关系图如下:


2、抽象化分析方法

抽象化后的关系图如下图

3、工厂方法的静态建模

在上图中,涉及到了几个内容:

4、故事情节的工厂方法的模拟实现








如果悟空工厂暂时无法工作了,这时候八戒工厂开着,八戒工厂里产九齿钉耙,如下:

结果是:


总结:

在工厂方法中,存在这样几种角色

1、抽象工厂

2、抽象产品

3、具体工厂

4、具体产品

可以理解为:

抽象工厂生产抽象产品

具体工厂生产具体产品

举报

相关推荐

0 条评论