版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、面向?qū)ο笤O(shè)計六大原則 面向?qū)ο笤O(shè)計六大原則面向?qū)ο笤O(shè)計的原則是面向?qū)ο笏枷氲奶釤挘让嫦驅(qū)ο笏枷氲暮诵囊馗呖刹僮餍?,但與設(shè)計模式相比,卻又更加的抽象,是設(shè)計精神要義的抽象概括。形象地將,面向?qū)ο笏枷胂穹ɡ淼木瘢O(shè)計原則則相對于基本憲法,而設(shè)計模式就好比各式各樣的具體法律條文了。面向?qū)ο笤O(shè)計原則有 6 個:開放封閉原則,單一職責(zé)原則,依賴倒置原則,Liskov 替換原則,迪米特法則和接口隔離原則或合成/聚合復(fù)用原則(不同資料略有不
2、同,這里對 7個都做了整理) 。1 單一職責(zé)原則 單一職責(zé)原則(Single Responsibility Principle SRP)There should never be more than one reason for a class to change. 什么意思呢?所謂單一職責(zé)原則就是一個類只負(fù)責(zé)一個職責(zé),只有一個引起變化的原因。如果一個類承擔(dān)的職責(zé)過多,就等于把這些職責(zé)耦合在一起,一個職責(zé)的變化會削弱或抑制這個類完成其他
3、職責(zé)的能力,這個耦合會導(dǎo)致脆弱的設(shè)計。軟件設(shè)計真正要做的許多內(nèi)容,就是發(fā)現(xiàn)職責(zé)并把這些職責(zé)相互分離;如果能夠想到多于一個動機去改變一個類,那么這個類就具有多于一個職責(zé),就應(yīng)該考慮類的分離。以調(diào)制解調(diào)器為例如下圖:ModemAttributesOperations+ Dial()+ Hangup()+ Receive()+ Send()從上述類圖里面我們發(fā)現(xiàn)有四個方法 Dial(撥通電話),Hangup(掛電話),Receive(收到信息
4、),Send(發(fā)送信息),經(jīng)過分析不難判斷出,實際上 Dial(撥通電話)和 Hangup(掛電話)是屬于連接的范疇,而 Receive(收到信息)和 Send(發(fā)送信息)是屬于數(shù)據(jù)傳送的范疇。這里類包括兩個職責(zé),顯然違反了 SRP。這樣做有潛在的隱患,如果要改變連接的方式,勢必要修改 Modem,而修改 Modem類的結(jié)果導(dǎo)致凡事依賴 Modem 類可能都需要修改,這樣就需要重新編譯和部署,不管數(shù)據(jù)傳輸這部分是否需要修改。因此要重構(gòu)
5、Modem 類,從中抽象出兩個接口,一個專門負(fù)責(zé)連接,另一個專門負(fù)責(zé)數(shù)據(jù)傳送。依賴 Modem 類的元素要做相應(yīng)的細化,根據(jù)職責(zé)的不同分別依賴不同的接口。如下圖:槍的主要職責(zé)是射擊,如何射擊在各個具體的子類中定義。注意在類中調(diào)用其他類時務(wù)必調(diào)用父類或接口,如果不能掉話父類或接口,說明類的射擊已經(jīng)違反了 LSP 原則。如果我們有一個玩具手 槍,該如何定義呢?我們先在類圖 2-1 上增加一個類ToyGun,然后繼承于 AbstractGu
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 面向?qū)ο笤O(shè)計六大原則
- 面向?qū)ο笤O(shè)計六大原則
- 豎向設(shè)計的六大原則
- 學(xué)好英語應(yīng)遵從六大原則
- 創(chuàng)業(yè)者開發(fā)客戶的六大原則
- 網(wǎng)站設(shè)計中產(chǎn)品設(shè)計迎合用戶體驗的六大原則
- 包裝設(shè)計三大原則
- 向ibm學(xué)績效管理01-績效管理六大原則
- 護眼三大原則
- 我們在營銷過程中,給產(chǎn)品定價的六大原則
- 四大原則教你省油
- 安慰人的10大原則
- 愛情的十大原則
- 親子溝通十大原則
- 做生意的10大原則
- 色彩搭配十大原則
- 變革管理十大原則
- 晚餐飲食三大原則
- 倉庫管理十大原則
- 產(chǎn)品成功五大原則
評論
0/150
提交評論