苹果最近的日子不好过啊,手机没啥创新的东西出来,倒学起了当年诺基亚最拿手的换壳,换尺寸的套路了,Mac的销量也大幅下滑,虽说这种巨头公司不至于轰然倒下(我说的不是诺基亚),但是颓势渐显,我心中也不免有些酸楚。或许苹果并不缺乏惊喜,只是缺了那句动人的“one more thing”。
回到正题,说到苹果又提到工厂,大家肯定会联想到富士康,不过今天说的工厂不是富士康,它是一种设计模式,但是毕竟代码虽然高于生活,但是也是来源于生活,所以今天说的工厂和富士康也有关系。
工厂模式顾名思义,工厂嘛,自然是要生产产品的,外面卖的iPhone都是工厂生产出来的,iPhone本身是抽象的,因为实际生活中卖的是iPhone4,iPhone5,iPhone6这些,所以iPhone从程序角度来讲就是一个接口,声明了一些能力,我们精简一下,保留call和answer,iPhone1/2/3/4/5/6实现了iPhone的接口:
为了便于生产,苹果封装了一个生产iPhone的工厂(简单工厂)
这套方法被苹果封装起来了,富士康改不了(就像我们拿到了别人的sdk一样,如果不用黑科技,我们也没法改别人封装好的东西)。富士康只能按照需要塞个code到苹果封装的工厂里,生产出对应代的iPhone,整个过程机械单一,但效率很高,富士康的工人也不需要关心iPhone是怎么造出来的,只需要按照规定操作就可以了。