黑子的程序員生涯

          努力保持編程中美好的感覺

          歷史上編程方法的發展

          1.歷史上出現的編程方法
          ? 1)結構化編程
          ??? 程序應該按自上而下的順序執行,不會做隨便跳轉。主要為了提高可讀性(特別是控制結構的),可自上而下的閱讀代碼,并且執行的順序也大體是這樣的。
          ??? 它的三個組成部分:順序Sequence,選擇selection,循環(或迭代)repetition (or iteration)。任何控制結構都可以用這三個部分組成。
          ??? 需要小心使用其他方式如:break,continue,return,throw-catch.
          ? 2)模塊化編程
          ??? 將邏輯相關的數據和函數放在一個模塊中。
          ??? VB中的Module就是這個思想的應用。
          ??? 它沒有多個實例的概念,相當于面向對象中的僅包含靜態方法和靜態變量的類。不需要實例化即可直接調用方法,只存在一個"實例"。
          ? 3)面向對象編程
          ??? 主要特點:封裝(Encapsulation),繼承(Inheritance),多態(Polymorphism)。
          ??? 封裝:將邏輯相關的數據和方法(函數)放在一個類中。跟模塊化編程做的一致。
          ??? 繼承:將內容或接口重用,并實現類型的多態。
          ??? 多態:不同的語義環境下,同一名稱可以有多種不同的實現。
          ? 具體表現為兩類:
          ? 同名方法不同內容,實現方式:使用重載(overload),當然方法的參數是不同的;
          ? 同名類型不同內容,實現方式:使用覆蓋(override)或實現(implement)。允許使用同一接口調用不同類的的實例對象。

          2.各種方法的目標
          ? 結構化編程。重點是是控制結構,可看作是基本程序語句(無子程序)的結構;
          ? 子程序化編程。似乎沒有相關的歷史潮流,但我認為加入認為的加入它會使整個方法的發展過程更加完整。也許這個大家都認為是當然的了?子程序(或過程、函數、方法)是模塊化、面向對象編程的最重要的基石。
          ? 模塊化編程。重點是將數據和子程序邏輯相關的組合;
          ? 面向對象編程。在模塊化的基礎上重點加入了模塊之間的關系。這里的模塊已演化為類。
          3.方法體系
          ? 上述幾種編程方法可以歸為一類,屬于一個方法體系,其重點在于編程本身,力圖有效管理并降低程序邏輯的復雜性。
          ? 隨其發展,管理的代碼單元越來越大,越來越復雜,其方式也越來越接近日常的思維。
          ? 其輔助技術或方法有編輯器、調試器、UML、軟件工程等。
          ? 我認為此體系中新的方法還未出現。現在流行的方法中:AOP面向方面編程,僅是此體系有益的補充;SOA面向服務架構,重點在于用統一的方式調用,而不依賴于底層技術,是組件化的一種形式,這不是這一類的主線方向。
          ?

          4.總結:
          ????? 以往的編程方法和原則在現代的方法中得到了保留和發展,這對新手是一個挑戰,不循序漸進的學習這些技術,想要短期學會現代方法(如:面向對象編程)是困難的。
          ????? 記住這些編程方法的主旨是很有好處的。
          ????? 新的編程方法必將是歷史方法的繼承和發展,所以學好這些舊的方法非常重要。
          ????? 掌握這些在各種層出不窮的新語言和新工具中不變的精華,或許,你可以不再那么疲于追趕新的技術潮流。

          posted on 2006-06-12 15:38 黑子 閱讀(1416) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 准格尔旗| 平湖市| 陵水| 历史| 灵川县| 抚顺县| 潢川县| 边坝县| 乌拉特前旗| 田东县| 北流市| 吉木乃县| 朝阳区| 五峰| 八宿县| 海丰县| 大田县| 丰县| 锡林浩特市| 射阳县| 高台县| 若尔盖县| 新乡市| 九龙城区| 桂平市| 曲沃县| 连州市| 北京市| 尉氏县| 达日县| 晋江市| 策勒县| 泰宁县| 龙门县| 芒康县| 清涧县| 班戈县| 井研县| 蕉岭县| 株洲县| 平原县|