![第面向?qū)ο笤O(shè)計原則學(xué)習(xí)教案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/19/f941b1ad-15a6-4759-a763-d543df6e7c02/f941b1ad-15a6-4759-a763-d543df6e7c021.gif)
![第面向?qū)ο笤O(shè)計原則學(xué)習(xí)教案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/19/f941b1ad-15a6-4759-a763-d543df6e7c02/f941b1ad-15a6-4759-a763-d543df6e7c022.gif)
![第面向?qū)ο笤O(shè)計原則學(xué)習(xí)教案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/19/f941b1ad-15a6-4759-a763-d543df6e7c02/f941b1ad-15a6-4759-a763-d543df6e7c023.gif)
![第面向?qū)ο笤O(shè)計原則學(xué)習(xí)教案_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/19/f941b1ad-15a6-4759-a763-d543df6e7c02/f941b1ad-15a6-4759-a763-d543df6e7c024.gif)
![第面向?qū)ο笤O(shè)計原則學(xué)習(xí)教案_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/19/f941b1ad-15a6-4759-a763-d543df6e7c02/f941b1ad-15a6-4759-a763-d543df6e7c025.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、會計學(xué)1第第 面向?qū)ο笤O(shè)計面向?qū)ο笤O(shè)計(shj)原則原則第一頁,共55頁。Robert C.Martin第1頁/共55頁第二頁,共55頁。Peter Coad第2頁/共55頁第三頁,共55頁??删S護性復(fù)用都是以面向?qū)ο笤O(shè)計(shj)原則為基礎(chǔ)的,這些設(shè)計(shj)原則首先都是復(fù)用的原則,遵循這些設(shè)計(shj)原則可以有效地提高系統(tǒng)的復(fù)用性,同時提高系統(tǒng)的可維護性。第3頁/共55頁第四頁,共55頁。Martin Fowler第4頁/共55頁第五頁,共55頁。設(shè)計原則名稱設(shè)計原則名稱設(shè)計原則簡介設(shè)計原則簡介重要性重要性單一職責(zé)原則(Single Responsibility Principle,
2、SRP)類的職責(zé)要單一,不能將太多的職責(zé)放在一個類中開閉原則(Open-Closed Principle, OCP)軟件實體對擴展是開放的,但對修改是關(guān)閉的,即在不修改一個軟件實體的基礎(chǔ)上去擴展其功能里氏代換原則(Liskov Substitution Principle, LSP)在軟件系統(tǒng)中,一個可以接受基類對象的地方必然可以接受一個子類對象依賴倒轉(zhuǎn)原則(Dependency Inversion Principle, DIP)要針對抽象層編程,而不要針對具體類編程接口隔離原則(Interface Segregation Principle, ISP)使用多個專門的接口來取代一個統(tǒng)一的接口
3、合成復(fù)用原則(Composite Reuse Principle, CRP)在系統(tǒng)中應(yīng)該盡量多使用組合和聚合關(guān)聯(lián)關(guān)系,盡量少使用甚至不使用繼承關(guān)系迪米特法則(Law of Demeter, LoD)一個軟件實體對其他實體的引用越少越好,或者說如果兩個類不必彼此直接通信,那么這兩個類就不應(yīng)當發(fā)生直接的相互作用,而是通過引入一個第三者發(fā)生間接交互第5頁/共55頁第六頁,共55頁。n另一種(y zhn)定義方式如下:n就一個類而言,應(yīng)該僅有一個引起它變化的原因。n其英文定義為:nThere should never be more than one reason for a class to cha
4、nge.第6頁/共55頁第七頁,共55頁。n單一職責(zé)原則是實現(xiàn)高內(nèi)聚、低耦合的指導(dǎo)方針,在很多代碼重構(gòu)手法中都能找到它的存在,它是最簡單但又最難運用的原則,需要設(shè)計人員發(fā)現(xiàn)類的不同職責(zé)并將其分離,而發(fā)現(xiàn)類的多重職責(zé)需要設(shè)計人員具有較強的分析設(shè)計能力和相關(guān)重構(gòu)經(jīng)驗。第7頁/共55頁第八頁,共55頁。n現(xiàn)使用單一職責(zé)原則對其進行重構(gòu)。第8頁/共55頁第九頁,共55頁。第9頁/共55頁第十頁,共55頁。but closed for modification.第10頁/共55頁第十一頁,共55頁。第11頁/共55頁第十二頁,共55頁。第12頁/共55頁第十三頁,共55頁。第13頁/共55頁第十四頁,共
5、55頁。第14頁/共55頁第十五頁,共55頁。第15頁/共55頁第十六頁,共55頁。y of type S where S is a subtype of T. 芭芭拉芭芭拉利斯科夫(利斯科夫(Barbara Liskov),美國),美國(mi u)計算機科學(xué)家,計算機科學(xué)家,2008年圖靈獎得主,年圖靈獎得主,2004年約翰年約翰.馮諾依曼獎得主,美國馮諾依曼獎得主,美國(mi u)工程院院士,美國工程院院士,美國(mi u)藝術(shù)與科學(xué)院院士,美國藝術(shù)與科學(xué)院院士,美國(mi u)計算機協(xié)會會士。現(xiàn)任麻省理工學(xué)院電子電氣與計算機科學(xué)系教授。她是美國計算機協(xié)會會士。現(xiàn)任麻省理工學(xué)院電子電氣與計
6、算機科學(xué)系教授。她是美國(mi u)第一個計算機科學(xué)女博士。第一個計算機科學(xué)女博士。周以真(周以真(Jeannette M. Wing),美國計算機科學(xué)家,卡內(nèi)基.梅隆大學(xué)教授,美國國家自然基金會計算與信息科學(xué)工程部助理部長,ACM和IEEE會士。第16頁/共55頁第十七頁,共55頁。n里氏代換原則是實現(xiàn)開閉原則的重要方式之一,由于使用基類對象的地方都可以使用子類對象,因此在程序中盡量使用基類類型來對對象進行定義,而在運行時再確定其子類類型,用子類對象來替換父類對象。第17頁/共55頁第十八頁,共55頁。喜歡(x huan)動物喜歡(x huan)貓 因為貓是動物 第18頁/共55頁第十九頁,
7、共55頁。DataOperator一個實現(xiàn)(shxin)加密操作。如圖所示:第19頁/共55頁第二十頁,共55頁。其進行重構(gòu),使得系統(tǒng)可以靈活擴展,符合開閉原則。第20頁/共55頁第二十一頁,共55頁。第21頁/共55頁第二十二頁,共55頁。nnProgram to an interface, not an implementation.第22頁/共55頁第二十三頁,共55頁。第23頁/共55頁第二十四頁,共55頁。倒轉(zhuǎn)原則就是面向?qū)ο笤O(shè)計的主要手段。第24頁/共55頁第二十五頁,共55頁。nPut Abstractions in Code, Details in Metadatan(程序員修
8、煉之道:從小工到專家(The Pragmatic programmer: from journeyman tomaster) )第25頁/共55頁第二十六頁,共55頁。第26頁/共55頁第二十七頁,共55頁。第27頁/共55頁第二十八頁,共55頁。第28頁/共55頁第二十九頁,共55頁。(XMLTransformer)XLS文件(XLSTransformer)等。第29頁/共55頁第三十頁,共55頁。對其進行重構(gòu)。第30頁/共55頁第三十一頁,共55頁。第31頁/共55頁第三十二頁,共55頁。第32頁/共55頁第三十三頁,共55頁?!敖巧綦x原則”。n(2) 接口僅僅提供(tgng)客戶端需要
9、的行為,即所需的方法,客戶端不需要的行為則隱藏起來,應(yīng)當為客戶端提供(tgng)盡可能小的單獨的接口,而不要提供(tgng)大的總接口。第33頁/共55頁第三十四頁,共55頁。提供用戶需要的行為,而隱藏用戶不需要的行為。第34頁/共55頁第三十五頁,共55頁。第35頁/共55頁第三十六頁,共55頁。第36頁/共55頁第三十七頁,共55頁。nFavor composition of objects over inheritance as a reuse mechanism.第37頁/共55頁第三十八頁,共55頁。第38頁/共55頁第三十九頁,共55頁。限的環(huán)境中使用。(“白箱”復(fù)用 )n組合/聚
10、合復(fù)用:耦合度相對較低,選擇性地調(diào)用成員對象的操作;可以在運行時動態(tài)進行。(“黑箱”復(fù)用 )第39頁/共55頁第四十頁,共55頁。降低復(fù)雜度,而濫用繼承(jchng)反而會增加系統(tǒng)構(gòu)建和維護的難度以及系統(tǒng)的復(fù)雜度,因此需要慎重使用繼承(jchng)復(fù)用。第40頁/共55頁第四十一頁,共55頁。第41頁/共55頁第四十二頁,共55頁。StudentDAOTeacherDAO的源代碼,使之繼承(jchng)新的數(shù)據(jù)庫連接類,這將違背開閉原則,系統(tǒng)擴展性較差。n現(xiàn)使用合成復(fù)用原則對其進行重構(gòu)。第42頁/共55頁第四十三頁,共55頁。第43頁/共55頁第四十四頁,共55頁。第44頁/共55頁第四十五頁,共55頁。展會相對容易,這是對軟件實體之間通信的限制(xinzh),它要求限制(xinzh)軟件實體之間通信的寬度和深度。第45頁/共55頁第四十六頁,共55頁。第46頁/共55頁第四十七頁,共55頁。第47頁/共55頁第四十八頁,共55頁。第48頁/共55頁第四十九頁,共55頁。都應(yīng)當盡量降低(jingd)其成員變量和成員函數(shù)的訪問權(quán)限;n在類的設(shè)計上,只
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 門診輸液室護士工作總結(jié)
- 幼教行業(yè)助理工作總結(jié)
- 電影行業(yè)技巧提升總結(jié)
- 國家課程:《機械制造裝備設(shè)計》第一章
- 2025-2030全球管式爐行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球工業(yè)應(yīng)用移動機器人行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國電動低升降托盤車行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國塑料3D打印長絲行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球工業(yè)膠囊填充機行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國微米級氧化鋯行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 《敏捷項目管理》課件
- 統(tǒng)編版(2024新版)七年級上學(xué)期道德與法治期末綜合測試卷(含答案)
- 黑龍江省哈爾濱市2024屆中考數(shù)學(xué)試卷(含答案)
- 前程無憂測評題庫及答案
- 高三日語一輪復(fù)習(xí)助詞「と」的用法課件
- 物業(yè)管理服務(wù)房屋及公用設(shè)施維修養(yǎng)護方案
- 五年級上冊小數(shù)遞等式計算200道及答案
- 帶拼音生字本模板(可A4打印)
- 超高大截面框架柱成型質(zhì)量控制
- 森林法講解課件
評論
0/150
提交評論