posts - 176, comments - 240, trackbacks - 0, articles - 7

          [導(dǎo)入]代碼復(fù)用(reuse

          Posted on 2006-01-23 23:01 canonical 閱讀(979) 評論(0)  編輯  收藏 所屬分類: 軟件開發(fā)

              代碼復(fù)用包括兩個方面:概念復(fù)用和實現(xiàn)復(fù)用。這兩者在C++的虛擬函數(shù)設(shè)計中是合二為一的,結(jié)果概念上的模糊往往造成繼承機制的濫用。為了復(fù)用我們往往在 基類中塞入過多的職責(zé),并在程序中制造了過多的層次。java的interface是純粹的概念復(fù)用機制,實現(xiàn)方面的復(fù)用我們一般通過Impls類或者 Utils類來進行,即將代碼片斷寫為靜態(tài)函數(shù)。一般應(yīng)該避免在類中寫特別多的幫助性成員函數(shù),因為成員函數(shù)隱含的通過成員變量相關(guān)著,比靜態(tài)函數(shù)要更加 難以控制。
              類是一個整體的概念,整體概念失效了,類也就不存在了。從這一點上來說,它未必是比靜態(tài)函數(shù)更加穩(wěn)定。概念與實現(xiàn)是兩個不同層面的東西。實際上它們一般也 是多對多的關(guān)系。同一個概念可能換用多種不同的實現(xiàn),而同一段功能代碼也可能在多個類中使用。
              代碼復(fù)用的意義不僅僅在于減少工作量。實際上復(fù)用是對軟件的一種真正的檢驗,而測試僅僅是一種模擬的檢驗而已。每一次復(fù)用都是對代碼的一次拷問。在不斷使 用中感受到不同使用環(huán)境中的各種壓力,才能實現(xiàn)概念的不斷精化并確保實現(xiàn)的正確性。

          主站蜘蛛池模板: 红河县| 库车县| 岑巩县| 商洛市| 龙川县| 永德县| 和政县| 江孜县| 班戈县| 治县。| 连城县| 卓资县| 宣威市| 闵行区| 大足县| 珲春市| 潼关县| 泌阳县| 拉孜县| 通河县| 澄迈县| 于田县| 济南市| 普洱| 满洲里市| 汪清县| 遂溪县| 贵港市| 延川县| 西昌市| 麟游县| 南岸区| 榆林市| 广南县| 白河县| 花垣县| 萍乡市| 大同县| 班戈县| 梧州市| 绍兴县|