版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第12章面向?qū)ο髮?shí)現(xiàn)面向?qū)ο笳Z(yǔ)言的選擇面向?qū)ο蟪绦蛟O(shè)計(jì)風(fēng)格第一節(jié)第二節(jié)目錄2面向?qū)ο笳Z(yǔ)言的選擇第一節(jié)優(yōu)點(diǎn)面向?qū)ο笳Z(yǔ)言的優(yōu)點(diǎn)表示一致自動(dòng)映射可復(fù)用性高使用面向?qū)ο笳Z(yǔ)言時(shí),由于語(yǔ)言本身充分支持面向?qū)ο蟾拍畹膶?shí)現(xiàn),因此,編譯程序可以自動(dòng)把面向?qū)ο蟾拍钣成涞侥繕?biāo)程序中。此外,面向?qū)ο笳Z(yǔ)言的優(yōu)點(diǎn)還包括:一致的表示方法;可復(fù)用性高;可維護(hù)性好等。可維護(hù)性好因此,面向?qū)ο髮?shí)現(xiàn)還是盡量選用面向?qū)ο笳Z(yǔ)言為好。4面向?qū)ο笳Z(yǔ)言的技術(shù)特點(diǎn)分類商業(yè)策略純面向?qū)ο笳Z(yǔ)言主要支持面向?qū)ο蠓椒ㄑ芯亢涂焖僭偷膶?shí)現(xiàn)混合型面向?qū)ο笳Z(yǔ)言(在過(guò)程語(yǔ)言的基礎(chǔ)上增加面向?qū)ο髾C(jī)制)純面向?qū)ο笳Z(yǔ)言例:C++
例:C#、Smalltalk和EifTel等
混合型面向?qū)ο笳Z(yǔ)言的目標(biāo)則是提高運(yùn)行速度和使傳統(tǒng)編程人員容易接受面向?qū)ο笏枷?具有支持類與對(duì)象概念的機(jī)制面向?qū)ο笳Z(yǔ)言的技術(shù)特點(diǎn)01成熟的面向?qū)ο笳Z(yǔ)言通常都提供豐富的類庫(kù)和強(qiáng)有力的開(kāi)發(fā)環(huán)境。因此,選擇面向?qū)ο笳Z(yǔ)言時(shí),還要考察語(yǔ)言的以下技術(shù)特點(diǎn)02具有實(shí)現(xiàn)繼承的機(jī)制03具有實(shí)現(xiàn)屬性和服務(wù)的機(jī)制04具有參數(shù)化類的機(jī)制提供類型檢查機(jī)制提供持久保持對(duì)象的機(jī)制提供類庫(kù)提供參數(shù)化類的機(jī)制提供可視化開(kāi)發(fā)環(huán)境05060708096選擇面對(duì)對(duì)象語(yǔ)言將來(lái)能否占主導(dǎo)地位可復(fù)用性如何Four0302ThreeTwoOne01是否具有良好的類庫(kù)和開(kāi)發(fā)環(huán)境支持04售后服務(wù)如何05集成已有軟件的難易程度如何實(shí)際軟件開(kāi)發(fā)中,選擇哪種面向?qū)ο笳Z(yǔ)言還要考慮語(yǔ)言的以下幾個(gè)方面7第二節(jié)面向?qū)ο蟪绦蛟O(shè)計(jì)風(fēng)格面向?qū)ο蟪绦蛟O(shè)計(jì)風(fēng)格
良好的面向?qū)ο蟪绦蛟O(shè)計(jì)風(fēng)格,既包括傳統(tǒng)的程序設(shè)計(jì)風(fēng)格準(zhǔn)則,也包括為適應(yīng)面向?qū)ο蠓椒ㄋ赜械母拍睿ㄈ绶庋b性、繼承性等)而必須遵循的一些新準(zhǔn)則。良好的程序設(shè)計(jì)風(fēng)格對(duì)面向?qū)ο髮?shí)現(xiàn)來(lái)說(shuō)也很重要,它不僅能明顯減少維護(hù)或擴(kuò)充的開(kāi)銷,而且也有助于在新項(xiàng)目中復(fù)用已有的程序代碼。92.1提高可復(fù)用性R面向?qū)ο蠓椒ǖ囊粋€(gè)主要目標(biāo)就是提高軟件的可復(fù)用性。軟件復(fù)用有多個(gè)層次,在編碼階段主要與代碼復(fù)用相關(guān)。一般來(lái)說(shuō),代碼復(fù)用有兩種:一種是本項(xiàng)目?jī)?nèi)的代碼復(fù)用,另一種是新項(xiàng)目復(fù)用舊項(xiàng)目的代碼。內(nèi)部復(fù)用主要是找出設(shè)計(jì)中相同或相似的部分,然后利用繼承機(jī)制共享它們。為做到外部復(fù)用,則必須要有長(zhǎng)遠(yuǎn)打算,需要不斷思索、反復(fù)打磨。雖然為實(shí)現(xiàn)外部復(fù)用而需要考慮的因素,比為實(shí)現(xiàn)內(nèi)部復(fù)用而需要考慮的更多,但是針對(duì)這兩類復(fù)用的程序設(shè)計(jì)準(zhǔn)則卻是相同的。10提高可復(fù)用性010203提高方法的內(nèi)聚,降低耦合;減小方法的規(guī)模;保持方法的一致性;把策略與實(shí)現(xiàn)分開(kāi);盡量做到全面覆蓋;盡量不使用全局信息;充分利用繼承機(jī)制等。實(shí)現(xiàn)提高可復(fù)用性的主要準(zhǔn)則包括:11提高可擴(kuò)充性R12.2.1小節(jié)所述的提高可復(fù)用性的準(zhǔn)則,也適用于提高程序的可擴(kuò)充性。封裝類的實(shí)現(xiàn)策略;控制方法規(guī)模;避免使用多分支語(yǔ)句;精心選擇和定義公有方法;合理使用多態(tài)性機(jī)制;根據(jù)對(duì)象的當(dāng)前類型自動(dòng)選擇相應(yīng)的操作等。提高可擴(kuò)充性的準(zhǔn)則:12提高穩(wěn)健性
穩(wěn)健性是指在硬件故障、輸入的數(shù)據(jù)無(wú)效或操作錯(cuò)誤等意外的情況下,系統(tǒng)能做出適當(dāng)響應(yīng)的程度。編程人員在編寫實(shí)現(xiàn)方法的代碼時(shí),既應(yīng)該考慮效率,也應(yīng)該考慮穩(wěn)健性。通常需要在穩(wěn)健性與效率之間做出適當(dāng)?shù)恼壑小?/p>
必須認(rèn)識(shí)到,對(duì)于任何一個(gè)實(shí)用軟件來(lái)說(shuō),穩(wěn)健性都是不可忽略的質(zhì)量指標(biāo)。為提高穩(wěn)健性應(yīng)該遵守以下幾條準(zhǔn)則:預(yù)防用戶的操作錯(cuò)誤,具備處理用戶操作錯(cuò)誤的能力;檢查參數(shù)的合法性;使用動(dòng)態(tài)內(nèi)存分配機(jī)制;先測(cè)試后優(yōu)化。13提高穩(wěn)健性R面向?qū)ο髮?shí)現(xiàn)主要是指把面向?qū)ο笤O(shè)計(jì)的結(jié)果翻譯成用某種程序語(yǔ)言書寫的面向?qū)ο蟪绦颉?/p>
采用面向?qū)ο蠓椒ㄩ_(kāi)發(fā)軟件的基本目的和主要優(yōu)點(diǎn)是通過(guò)復(fù)用提高軟件的生產(chǎn)率。因此,應(yīng)該優(yōu)先選用能夠最完善、最準(zhǔn)確地表達(dá)問(wèn)題域語(yǔ)義的面向?qū)ο笳Z(yǔ)言。14提高穩(wěn)健性R在面向?qū)ο髮?shí)現(xiàn)中,涉及到的主要技術(shù)有:類的封裝和信息隱藏、類繼承、多態(tài)和重載、模板、持久保存對(duì)象、參數(shù)化類和異常處理等。主要技術(shù)以類的實(shí)現(xiàn)為核心開(kāi)發(fā)過(guò)程中,類的實(shí)現(xiàn)是核心問(wèn)題。在用面向?qū)ο箫L(fēng)格所寫的系統(tǒng)中,所有的數(shù)據(jù)都被封裝在類的實(shí)例中。而整個(gè)程序則被封裝在一個(gè)更高級(jí)的類中。在使用既存部件的面向?qū)ο笙到y(tǒng)中,可以只花費(fèi)少量時(shí)間和工作量來(lái)實(shí)現(xiàn)軟件。只要增加類的實(shí)例,開(kāi)發(fā)少量的新類和實(shí)現(xiàn)各個(gè)對(duì)象之間互相通信的操作,就能創(chuàng)建所需要的軟件。15下面舉兩個(gè)例子來(lái)說(shuō)明面
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)花生四烯酸數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 家具行業(yè)銷售居間協(xié)議模板
- 技術(shù)轉(zhuǎn)讓居間合同模板
- 構(gòu)建高效的崗位工作報(bào)告邏輯框架
- 廣告公司拆除合同樣本
- 2025至2030年中國(guó)A型網(wǎng)式資料架數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)自鎖快速接頭市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)沉流式除塵濾筒市場(chǎng)調(diào)查研究報(bào)告
- 2025至2031年中國(guó)鐵制掛鉤行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國(guó)提詞器軟件行業(yè)投資前景及策略咨詢研究報(bào)告
- 《創(chuàng)傷失血性休克中國(guó)急診專家共識(shí)(2023)》解讀課件
- 小學(xué)六年級(jí)數(shù)學(xué)100道題解分?jǐn)?shù)方程
- 金屬探測(cè)器檢查記錄表
- 2022年五年級(jí)數(shù)學(xué)興趣小組活動(dòng)記錄
- Q∕GDW 12127-2021 低壓開(kāi)關(guān)柜技術(shù)規(guī)范
- YY 0838-2021 微波熱凝設(shè)備
- 商品房預(yù)售合同登記備案表
- 版式設(shè)計(jì)發(fā)展歷程-ppt課件
- 通信機(jī)房蓄電池放電試驗(yàn)報(bào)告
- 病原細(xì)菌的分離培養(yǎng)
- EDA課程設(shè)計(jì)報(bào)告書--八音電子琴
評(píng)論
0/150
提交評(píng)論