1986年由央视推出的央视版《西游记》被我们认为是最经典的一个版本,我认为这是86版西游记承载了太多70、80、90甚至是00后的回忆,在那个精神文化生活还不是很富裕的年代,电视剧《西游记》的问世,在很多人心目中都有着很深的回忆。这也导致了后来翻拍的版本没一个比得上86版,但无论是哪个版本的《西游记》,孙悟空都是其中最出名的英雄主角之一,关于他(或它)拔毛变小猴的故事几乎人人皆知,孙悟空可以用猴毛根据自己的形象,复制(又称“克隆”或“拷贝”)出很多跟自己长得一模一样的“身外身”来。
而这拔毛变小猴的故事,也是跟我们今天要了解的一个设计模式有点类似,该模式可以通过一个原型对象克隆出多个一模一样的对象,这个模式就是——原型模式。
今天,我们来学习一下设计模式中的工厂模式,不过,就这样直接讲可能会有点闷,所以,在介绍工厂模式之前,我们先来看一个女娲造人的神话故事。东汉《风俗通》记录了这样一则神话故事:“开天辟地,未有人民,女娲搏黄土做人”,说的就是女娲造人的故事。女娲是如何造人的呢?
过程大概是这样的:首先,女娲采集黄土捏成人的形状,然后放到八卦炉中烧制,最后放到大地上生长。由于女娲是第一次做人,经验不足,对火候的把控不准确,柴火放多了,火太旺,七七四十九天之后,造好拿出来一看,人都被烤黑了,于是,黑种人就诞生了;然后女娲开始少放柴火,小火慢炖,又过了七七四十九天,拿出来一看,人还没烤熟呢,于是,白种人就诞生了;最后,女娲有经验了,把控好火的大小,就这样又过了七七四十九天,打开八卦炉一看,嗯,这次就对了,于是黄种人就诞生了。
那么我们可以用程序来实现这个有意思的女娲造人功能吗?答案是当然可以实现!接下来,我们就通过工厂模式来实现女娲造人这个功能。