• <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++

             

            軟件復(fù)用級(jí)別之我見

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

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

            評(píng)論

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

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

            # re: 軟件復(fù)用級(jí)別之我見[未登錄] 2007-08-13 13:07 shilei230

            軟件復(fù)用無止境,存在著一個(gè)粒度的問題。一個(gè)基本的原則就是:封裝變化,依賴抽象。所以通過面向?qū)ο蠖皇敲嫦驒C(jī)器的方式來解決問題,就能夠在問題域把變化隔離出來,從而獲得一個(gè)穩(wěn)定的框架。這篇文章講的就是這個(gè)意思。  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(2)

            隨筆檔案

            文章檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            无夜精品久久久久久| 国产精品久久久福利| 亚洲va久久久久| 色诱久久久久综合网ywww| 麻豆精品久久久一区二区| 日本精品久久久久久久久免费| 热99RE久久精品这里都是精品免费| 亚洲乱码精品久久久久..| 国产成人久久精品麻豆一区 | 成人久久精品一区二区三区| 中文字幕亚洲综合久久| 亚洲va久久久噜噜噜久久天堂| 青草影院天堂男人久久| 亚洲va久久久噜噜噜久久天堂| 久久精品国产99久久久香蕉| 久久精品国产99久久久| 久久精品极品盛宴观看| 久久国产精品一区| 国产精品免费看久久久| 亚洲狠狠婷婷综合久久蜜芽| 久久久久久久久久免免费精品| …久久精品99久久香蕉国产| 一本久久a久久精品vr综合| 亚洲精品乱码久久久久久不卡| 夜夜亚洲天天久久| 国产欧美一区二区久久| 国产麻豆精品久久一二三| 无码专区久久综合久中文字幕| 中文精品99久久国产 | 国产精品岛国久久久久| 久久www免费人成看片| 久久久久亚洲国产| 中文成人无码精品久久久不卡 | 狠狠狠色丁香婷婷综合久久俺| 一本色道久久综合狠狠躁| AV无码久久久久不卡蜜桃| 久久久精品久久久久影院| 久久综合久久美利坚合众国| 丁香色欲久久久久久综合网| 久久人人爽人人人人爽AV| 看久久久久久a级毛片|