從「活字印刷」理解「面向對象」

 
 話說三國時期,曹操帶領百萬大軍攻打東吳,大軍在長江赤壁駐紮,軍船連成一片,眼看就要滅掉東吳,統一天下,曹操大悅,因而大宴衆文武,在酒席間,曹操詩性大發,不覺吟道:「喝酒唱歌,人生真爽。…………」。衆文武齊呼:「丞相好詩!」因而一臣子速命印刷工匠刻版印刷,以便流傳天下。
 
        樣張出來給曹操一看,曹操感受不妥,說道:「喝與唱,此話過俗,應改成‘對酒當歌’較好!」,因而此臣就命工匠從新來過。工匠眼看連夜刻版之工,完全白費,心中叫苦不喋。只得照辦。
 
 

      
        樣張再次出來請曹操過目,曹操細細一品,以爲仍是很差,說:「人生真爽太過直接,應改問語纔夠意境,所以應改成‘對酒當歌,人生幾何?…………’!」當臣轉告工匠之時,工匠暈倒…………!
        惋惜三國時期活字印刷還未發明,因此相似事情應該時有發生,若是是有了活字印刷。則只需更改四個字就可,其他工做都未白作。實在妙哉。

        第一,要改,只需更改要改之字,此爲可維護;第二,這些字並不是用完此次就無用,徹底能夠在後來的印刷中重複使用,此乃可複用;第三,此詩若要加字,只需另刻字加入便可,這是可擴展;第四,字的排列其實有多是豎有多是橫排,此時只需將活字移動就可作到知足排列需求,此是靈活性好。
        而在活字印刷術以前,上面的四種特性都沒法知足,要修改,必須重刻,要加字,必須重刻,要從新排列,必須重刻,印完這本書後,此版已無任何可再利用價值。
       小時候,我一直奇怪,爲什麼火藥、指南針、造紙術都是從無到有,從未知到發現的偉大發明,而活字印刷僅僅是從刻版印刷到活字印刷的一次技術上的進步,爲什麼不是評印刷術爲四大發明之一呢?
       作了軟件開發幾年後,經歷了太多的客戶(曹操)改變需求,更改最初想法的事件,才逐漸明白當中的道理。其實客觀的說,客戶的要求也並不過份(改幾個字而已),但面對已完成的程序代碼,倒是須要幾乎重頭來過的尷尬,這實在是痛苦不堪。說白了,緣由就是由於咱們原先所寫的程序,不容易維護,靈活性差,不容易擴展,更談不上覆用,所以面對需求變化,加班加點,對程序動大手術的那種無耐也就很是正常的事了。
      以後當我學習了面向對象分析設計編程思想,開始考慮經過封裝、繼承、多態把程序的耦合度下降(傳統印刷術的問題就在於全部的字都刻在同一版面上形成耦合度過高所制),開始用設計模式使得程序更加的靈活,容易修改,而且易於複用。體會到面向對象帶來的好處,那種感受應該就如同是一中國酒鬼第一次喝到了茅臺,西洋酒鬼第一次喝到了XO同樣,怎個爽字可形容呀。
       再次回顧中國古代的四大發明,另三種應該都是科技的進步,偉大的創造或發現。而惟有活字印刷,實在是思想的成功,面向對象的勝利。不知您是否也有所感呢?
 
本文來自CSDN博客,轉載請標明出處: http://blog.csdn.net/guopengzhang/archive/2009/10/25/4726734.aspx
相關文章
相關標籤/搜索