故事理解:
当我们要建一座房子的时候,我们需要先有设计图,有建筑材料。有了这些东西之后,先要建立一个房子的框架,然后根据设计图,将每一个建筑材料用到该用的地方。建筑材料包括:钢筋,水泥,砖等等。我们不需要知道这些钢筋,水泥,砖是怎么做出来的,我们只需要拿来用就可以盖出一个房子。
所谓的框架,就是整个盖房子项目的主体,有了这个主体,我们就可以将框架的每个部分交给不同的团队的不同工种的建筑工人来实施,有的负责建主墙,有的建内墙,有的砌砖,有的粉刷等等。
所谓构件,比如在铺设管道的时候,我们不需要自己用水泥和钢筋去做,而直接买水泥管道铺设就可以了,这些直接买来就可以用,具有特定功能的成品就是所谓的构件。
所谓设计模式,我们在对整个房子,甚至每个房间都有一个设计,这些设计通过设计图的形式呈现出来,他们是抽象的东西,代表着一种思想。在实施不同部位时可以使用不同的设计模式。
所谓API,我们不需要知道怎么生产构件,但是我们可以直接从建筑提供商那里购买到,至于建筑提供商是哪里来的,我们不关心,这个建筑提供商起到的就是所谓的API的作用,他给我们提供某些服务。
建一栋房子是很简单的,当我们要建一个小区的时候,建相同的建筑的时候,我们就不需要重新设计一个建筑图纸了,我们使用相同的设计模式来复制,然后一栋栋的房子就很快被建起来。并且他们的外观都保持了一致,他们的内部结构也一致。这就是重用。所有被我们重用的哪些框架,构件,设计模式,都是经过许多代人积累下来的成果,并且也很成熟,我们只需要在使用他们就可以建出我们自己想要的东西来。。。
对于软件,这些是大的思想,至于每一项技术都是为了完成某一特定用途而出现的,砖墙有很高的砌砖技术,粉刷墙可以把墙粉得很好,电工和水工可以把水电铺设得很合理等等。从这个意义上看,我们不需要学会每一项技术,我们只需要了解每一项技术它能完成哪些工作。在建筑行业,赚钱的不是那些技术工人(砖匠,瓦匠,水泥匠,电工水工,粉刷工),而是那些包工头,设计师,建筑师,房地产开发商。。。。对应与IT行业,程序员对应匠人;粉刷工对应美工;项目经理对应于包工头;设计师对应于构架师,技术总监;房地产开发商则对应于马云,李彦宏,马化腾这些CEO。
未来在哪里,自己好好想想!!!!如何成为一个包工头,如何成为一个设计师,如何成为房地产开发商才是我们程序员真正的目标啊。。。。。