• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Binormal

            The genuine programmers use C++

             

            軟件復用級別之我見

            ????? 軟件復用程度的級別可以按以下準則來衡量(級別從低到高):
            (1)函數:將那些重復或者類似的程序集中起來放在函數里,對外提供參數以利復用,是功能型的重用;
            (2)實在類:將若干經常使用的函數集中起來,將函數的參數轉化為類的成員變量,自定義構造和銷毀函數,是資源型的重用;
            (3)抽象類:使用純虛函數對外提供接口,這些接口僅僅聲明了基類的功能,而將實現拖延到子類中去,是強調可變性的資源型重用;
            (4)包:將若干耦合度較大的類集中起來,統一地對外提供接口,是一種有機的資源型重用;
            (5)模板:將變量的類型通用化,它是一種強調通用性的資源型重用,可以應用在上面四個層次上;
            (6)組件:封裝了數據和方法的可執行代碼,上面五種都屬于代碼級的復用,而組件屬于軟件級的重用。

            posted on 2006-09-19 14:28 Binormal 閱讀(971) 評論(2)  編輯 收藏 引用

            評論

            # 通用軟部件 2007-08-11 10:41 yuxianm

            推薦一篇文章:
            摘自《通用軟部件應用范圍與邊界》
            原文引用地址:http://www.sciencenet.cn/blog/user_content.aspx?id=4643
            原作者:程學先等
            對通用軟部件(簡稱部件)作清晰的界定將有利于部件技術的發展。1、部件是粗粒度的可通用于各個系統的代碼封裝體。部件是應用系統的頂級模塊,是包括模塊級人機交互界面、數據控制(包括數據完整性約束、安全性控制)、數據變換、通信、代碼變換、簡單數據處理操作等代碼的封裝體,它的每一次復用將建立系統的一個程序模塊。相比較而言,對象,是類的復用(不為通用于不同程序的復用而設計的類,例如JAVA中大量類,不在本文中討論),是類的實例。類是單個數據級(數據項、域、單表)的人機交互界面、數據域完整性控制、簡單操作控制(消息驅動)等代碼的封裝體,它的每一次復用將建立程序模塊中一個控件。為了使類能通用于任何程序,調用時需要給出接口參數,例如名稱、所代表的數據、其原始模板(生成該控件的類的名稱及相關特性)、位置與形狀等幾何與圖形特征、域完整性約束條件、控件的操作特性等等,這些內容用“屬性”來表示。為讓它能被用到不同程序中去并實現不同的功能,利用許多方法來實現。這些方法在復用到其他地方時,代碼常要由程序員填寫,這些手工填寫的內容一般不能復用。盡管從類派生生成對象的過程需要人工操作,存在大量無法復用的部分,但是該技術對于提高程序設計效率與質量發揮了大家都公認的作用。而部件將一個模塊中所有控件都封裝了進去,處理好了控件間數據相互聯系的問題;它包括了數據變換與通信接口等內容,也就處理好了模塊對外的聯系,有些還封裝了全部數據操作代碼。這些內容對于程序員與用戶都是一個黑盒,在設計時無須考慮其內部的實現,使設計簡化,統一設計的接口參數變量不到20個,(如果有數據完整性控制等特殊要求再另外通過常規接口參數表、數據變換接口參數表(字典表)、通信接口參數表等傳遞控制信息)。這些將使利用部件技術構建的系統具有更高的代碼復用率。但是,一個系統要求完全復用是十分困難的,一般在后臺進行業務邏輯和數據處理的部分,例如復雜的查詢、特殊的導出、復雜統計與報表、數據分析、編制計劃或其他決策支持程序,還需要人工設計補充。 2、軟件復用無止境,軟件發展與軟件復用研究始終緊密聯系在一起。部件技術也會遇到面向對象技術同樣的問題:部件的代碼冗余會更大,處理速度會進一步受到影響,適用范圍會更小。但是也一定會促進計算機理論與技術的發展,會將計算機應用的范圍與應用的深度再向前推進,將要求部件技術自身不斷向前發展,軟件復用實現的難度會越來越大,但發展不會停止。在自適應工資管理系統一文中看到該設計不僅可以復用到其他行業的工資管理上,還可以用到各種單一主數據表、所有處理都以字段為基本單位的其他系統或子系統中,可以看成是系統級或子系統級的復用產品,但它是不能被稱為部件的,也不要求封裝。關于部件的研究還僅僅是開始,需要我們更多地去投入與研究。 3、在設計部件時要盡可能地將非復用部分獨立出來。關于數據處理的部分變化很多,要想所有處理代碼都來自復用是不現實的,只能逐步積累,慢慢提高這一部分的復用率。這一部分的設計往往還需要以往的設計方法。但是,為了取得較強的適應性與可擴展性,提高程序設計效率,應當盡可能地將這一部分代碼從部件封裝體中剝離出來、形成相對獨立的部分。在復雜查詢程序與復雜報表設計時我們考慮了這一問題。可以設計這樣的部件:該部件封裝了界面等等內容,只將處理代碼放到數據庫中,這一部分內容允許程序員與用戶自己維護,在復用時從數據庫中直接按程序號(記錄號)取出存放的代碼并執行。這樣,程序員操心的將只是若干面向過程代碼,工作量與設計難度將都下降。也具有很大意義。
              回復  更多評論   

            # re: 軟件復用級別之我見[未登錄] 2007-08-13 13:07 shilei230

            軟件復用無止境,存在著一個粒度的問題。一個基本的原則就是:封裝變化,依賴抽象。所以通過面向對象而不是面向機器的方式來解決問題,就能夠在問題域把變化隔離出來,從而獲得一個穩定的框架。這篇文章講的就是這個意思。  回復  更多評論   

            導航

            統計

            常用鏈接

            留言簿(2)

            隨筆檔案

            文章檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            国产欧美久久久精品| 久久婷婷五月综合97色| 久久久WWW免费人成精品| 久久久久亚洲AV成人网人人网站| 人妻少妇精品久久| 久久精品亚洲日本波多野结衣| 久久九九全国免费| 亚洲色欲久久久久综合网| 亚洲国产精品高清久久久| 69国产成人综合久久精品| 亚洲国产成人精品91久久久 | 久久精品亚洲乱码伦伦中文| 亚洲精品无码久久毛片| 精品久久久噜噜噜久久久 | 2022年国产精品久久久久| 热久久国产欧美一区二区精品| 久久99亚洲网美利坚合众国| 久久影视综合亚洲| 久久电影网一区| 亚洲国产精品无码久久久不卡| 精品国产综合区久久久久久| www.久久精品| 久久精品国产亚洲AV无码麻豆 | 2020久久精品国产免费| 久久99热这里只有精品国产| 精品国产热久久久福利| 办公室久久精品| AV无码久久久久不卡网站下载| 久久午夜夜伦鲁鲁片免费无码影视 | 久久r热这里有精品视频| 亚洲国产精品无码成人片久久| 久久伊人五月天论坛| 久久久久久一区国产精品| 国产99久久久国产精免费| 99久久精品免费国产大片| 久久国产高清字幕中文| 久久亚洲精品中文字幕三区| 久久精品欧美日韩精品| 精品国产91久久久久久久| 久久综合九色综合欧美狠狠| 伊人久久大香线蕉影院95|