目录
1.1、前言
在开篇讲工厂方法模式之前我们来看一个场景小故事,女娲补天的故事大家都听说过吧,今天不说这个,说女娲创造人的故事,可不是“造人”的工作,这个词被现代人滥用了。这个故事是说,女娲在补了天后,下到凡间一看,哇塞,风景太优美了,天空是湛蓝的,水是清澈的,空气是清新的,太美丽了,然后就待时间长了就有点寂寞了,没有动物,这些看的到都是静态的东西呀,怎么办?
别忘了是神仙呀,没有办不到的事情,于是女娲就架起了八卦炉(技术术语:建立工厂)开始创建人,具体过程是这样的:先是泥巴捏,然后放八卦炉里烤,再扔到地上成长,但是意外总是会产生的:
第一次烤泥人,兹兹兹兹,感觉应该熟了,往地上一扔,biu~,一个白人诞生了,没烤熟!
第二次烤泥人,兹兹兹兹兹兹兹兹,上次都没烤熟,这次多烤会儿,往地上一扔,嘿,熟过头了,黑人哪!
第三次烤泥人,兹~ 兹~ 兹~,一边烤一边看着,嘿,正正好,Perfect!优品,黄色人种!
其实这个过程还是比较有意思的,如果我们要用程序去实现类似这样的业务场景的话,大家会用什么方式呢?大多数人会说⽤ifelse语句呀,很简单的。就业务场景而言使用ifelse语句来实现确实没什么问题,但是如果有一天女娲一时兴起想造“火星人”、“开普勒-10b人”、“比邻星人”等一系列外星人又该怎么办呢?大多数人还会说继续⽤ifelse语句呀,很简单的。我只想说这样编码下去只能是编码⼀时爽,重构⽕葬场。这也许是造成“屎山”代码和很多⼈并不愿意接⼿别⼈的代码的原因吧。