版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο蟮姆治雠c設(shè)計(jì)課程學(xué)習(xí)的內(nèi)容OO設(shè)計(jì)原則UML設(shè)計(jì)圖及RoseRational工具OO設(shè)計(jì)模式典型項(xiàng)目的分析與設(shè)計(jì)學(xué)習(xí)方法掌握主要OO原則的原理和應(yīng)用要點(diǎn)改變java編程習(xí)慣學(xué)會(huì)設(shè)計(jì)Rational工具的使用;掌握類圖、用例圖、順序圖、活動(dòng)圖的設(shè)計(jì)熟練掌握MVC設(shè)計(jì)方法熟練掌握數(shù)據(jù)庫(kù)編程深化了解API,深化基于API的編程反復(fù)實(shí)踐典型模式應(yīng)用于項(xiàng)目的分析和設(shè)計(jì)考核基于典型項(xiàng)目的考察:項(xiàng)目的分析與方案設(shè)計(jì)UML典型圖項(xiàng)目代碼中基本原則的應(yīng)用項(xiàng)目設(shè)計(jì)中模型的使用OOP編程要點(diǎn)
OOP追求的目標(biāo):可用性、完整性、健壯性、有效性、可伸縮性、可讀性、可重用性、簡(jiǎn)潔性、可維護(hù)性、可擴(kuò)充行OOP典型特點(diǎn):封裝性、繼承性、重載、屬性和修飾符、多態(tài)、重構(gòu)、抽象類接口、集合、泛型、委托與事件實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的實(shí)例計(jì)算立體型幾何體體積要點(diǎn):分析其中的耦合性、程序的復(fù)用性“臟代碼”分析單一職責(zé)原則(SRP原則)就一個(gè)類而言,應(yīng)該只有一個(gè)引起它變化的原因;失敗的案例:界面處理類+數(shù)據(jù)庫(kù)操作+文件讀寫+業(yè)務(wù)流程控制類比:多功能手機(jī)、集成主板的電腦—壞一處就全壞經(jīng)驗(yàn):類的設(shè)計(jì)傾向于越小越好解釋:如果一個(gè)類承擔(dān)的職責(zé)過(guò)多,就等于把這些職責(zé)耦合在一起。一個(gè)職責(zé)的變化可能會(huì)引起消弱或抑制這個(gè)類完成其他職責(zé)的功能。這種耦合會(huì)導(dǎo)致脆弱的設(shè)計(jì)。當(dāng)變化發(fā)生時(shí),設(shè)計(jì)會(huì)遭到意想不到的破壞。開-閉原則(核心原則)軟件實(shí)體(類、模塊、方法)應(yīng)該可以擴(kuò)展,但不可以修改;換個(gè)說(shuō)法:類對(duì)擴(kuò)展是開放的,對(duì)修改是封閉的;用extends和implements等開放,用private封閉實(shí)際使用:1.隨時(shí)準(zhǔn)備修改:改變是合理的;2.原來(lái)的代碼一般不要改動(dòng),合理的方法是基于原先的代碼產(chǎn)生新的類3.設(shè)計(jì)之初就準(zhǔn)備好應(yīng)對(duì)變化,用抽象來(lái)隔離變化,減少耦合。開-閉原則的運(yùn)用:寫一個(gè)相對(duì)固定的內(nèi)核;不斷產(chǎn)生新的類,當(dāng)修改發(fā)生時(shí);新的類給予接口或抽象類創(chuàng)建;理解:面向接口編程依賴倒轉(zhuǎn)原則抽象不應(yīng)該依賴于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴于抽象;----針對(duì)接口編程,不要對(duì)實(shí)現(xiàn)編程解釋:1.高層類不應(yīng)該依賴低層類;兩者都應(yīng)依賴于抽象;2.抽象不應(yīng)該依賴細(xì)節(jié);細(xì)節(jié)應(yīng)該依賴抽象反轉(zhuǎn)實(shí)例:電話指揮修電腦,誰(shuí)依賴誰(shuí)?抽象與實(shí)現(xiàn):電腦主板-總線插槽-PIC卡的實(shí)例—抽象不依賴細(xì)節(jié),細(xì)節(jié)依賴抽象。依賴止于接口--用接口消除強(qiáng)耦合AB依賴AB依賴I依賴用接口消除強(qiáng)耦合OO的基本原則89、面向?qū)ο蟮幕驹O(shè)計(jì)原則
1)LSP(TheLiskovSubstitutionPrinciple):Liskov替換原則
子類不能添加任何父類沒有的附加約束。子類對(duì)象必須可以替換基類對(duì)象。
在可能的情況下,由抽象類(接口)繼承。
抽象類與具體類
只要有可能,不要從具體類繼承;
行為集中的方向是向上的(抽象類);
數(shù)據(jù)集中的方向是向下的(具體類)。
2)OCP(TheOpen-ClosePrinciple):開放-封閉原則
對(duì)于擴(kuò)展是開放的(Openforextension)
對(duì)于更改是封閉的(Closedformodification)
關(guān)鍵在于抽象
抽象預(yù)見了可能的所有擴(kuò)展(閉)
由抽象可以隨時(shí)導(dǎo)出新的類(開)
OCP是OOD中很多說(shuō)法的核心。
LSP是OCP成為可能的主要原則之一。
3)SRP單一職責(zé)原則(TheSingleResponsibilityPrinciple)
一個(gè)類,應(yīng)該僅有一個(gè)引起它變化的原因。
體現(xiàn)了內(nèi)聚性(Cohesion):一個(gè)模塊的組成元素之間的功能相關(guān)性。
違反SRP原則會(huì)帶來(lái)物理依賴的缺點(diǎn)。
使得每個(gè)類僅有一個(gè)職責(zé)。
4)ISP接口隔離原則(TheInterfaceSegregationPrinciple)
客戶應(yīng)該僅知道所需要要的接口。
一個(gè)類實(shí)現(xiàn)多個(gè)接口,避免“肥接口(fatinterface)”
使用委托分離接口,Adapter模式;使用多重繼承分離接口。
本質(zhì):
使用多個(gè)專門的接口比使用單一的接口好。
一個(gè)類對(duì)另一個(gè)類的依賴性應(yīng)當(dāng)是建立在最小的接口上的。
避免接口污染(InterfacePollution)
5)DIP依賴倒置原則(TheDependencyInversionPrinciple)
高層模塊不依賴于低層模塊,二者都依賴于抽象。
抽象不應(yīng)該依賴于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴于抽象。
針對(duì)接口編程,而不是針對(duì)實(shí)現(xiàn)編程。
Booch:所有結(jié)構(gòu)良好面向?qū)ο蠹軜?gòu)都具有清晰地層次定義,每個(gè)層次通過(guò)一個(gè)定義良好的、受控的接口向外提供了一組類聚的服務(wù)。
6)啟發(fā)式原則
依賴于抽象——依賴關(guān)系都應(yīng)終止于抽象類或者接口。
任何變量都不應(yīng)該擁有指向具體類的指針或者引用。
任何類都不應(yīng)該從具體類派生。
任何方法都不應(yīng)該改寫其任何基類中已經(jīng)實(shí)現(xiàn)的方法。
類圖類圖是一種靜態(tài)設(shè)計(jì)圖,常用于系統(tǒng)分析階段類圖反映了系統(tǒng)設(shè)計(jì)中類和類之間的關(guān)系需要掌握的概念:類(含接口)的UML圖標(biāo)識(shí)類-類,類-接口的圖形化標(biāo)識(shí)類與類、類與接口的6種關(guān)系
UML中的類圖類圖中的6種關(guān)系1.繼承(泛化)關(guān)系;2.實(shí)現(xiàn)關(guān)系;3.依賴關(guān)系;4.關(guān)聯(lián)關(guān)系;5.組合關(guān)系6.聚合關(guān)系
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年醫(yī)療醫(yī)院科技成果轉(zhuǎn)化服務(wù)合同
- 2026年農(nóng)業(yè)量子計(jì)算農(nóng)業(yè)合同
- 2025年環(huán)境監(jiān)測(cè)技術(shù)在可持續(xù)發(fā)展中的應(yīng)用可行性研究報(bào)告
- 2025年新型文化產(chǎn)業(yè)發(fā)展項(xiàng)目可行性研究報(bào)告
- 2025年智能家居產(chǎn)品開發(fā)與市場(chǎng)拓展可行性研究報(bào)告
- 2025年數(shù)據(jù)安全保護(hù)技術(shù)實(shí)施可行性研究報(bào)告
- 海蜇收購(gòu)合同范本
- 物流合同協(xié)議范本
- 臨時(shí)租憑協(xié)議書
- 中草藥訂協(xié)議書
- 鋼筋棚拆除合同范本
- 斷絕親子協(xié)議書
- 【MOOC答案】《光纖光學(xué)》(華中科技大學(xué))章節(jié)作業(yè)期末慕課答案
- 小學(xué)生班級(jí)管理交流課件
- DB21T 3722.7-2025高標(biāo)準(zhǔn)農(nóng)田建設(shè)指南 第7部分:高標(biāo)準(zhǔn)農(nóng)田工程施工質(zhì)量評(píng)定規(guī)范
- 近八年寧夏中考數(shù)學(xué)試卷真題及答案2024
- 超星爾雅學(xué)習(xí)通《帶您走進(jìn)西藏(西藏民族大學(xué))》2025章節(jié)測(cè)試附答案
- 超星爾雅學(xué)習(xí)通《科學(xué)計(jì)算與MATLAB語(yǔ)言(中南大學(xué))》2025章節(jié)測(cè)試附答案
- 綠色簡(jiǎn)約風(fēng)王陽(yáng)明傳知行合一
- 【MOOC】宇宙簡(jiǎn)史-南京大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 重精管理培訓(xùn)
評(píng)論
0/150
提交評(píng)論