[u][i]這個系列是早前發布在部門wiki上的,引導組裡的兄弟入門ood,希望同樣對剛剛走到ood門前的同學有用。[/i][/u]
現實中的每個人都要承擔各式各樣的職責,這些職責通常是由他面對的"客戶"所決定的,比如乙個部門經理,面對老闆他的職責是執行、匯報工作等,面對部門員工他的職責是分派任務,監控執行等,面對客戶他的職責是了解需求、解答疑問等;如果回到家,面對老人他的職責是盡孝道,面對孩子他的職責是撫養教育。。。這些職責取決於面對的"客戶",對這個"客戶"的職責不能用在那個"客戶"身上,不能亂,一亂就壞了。
同樣,軟體世界中的物件也應該是這樣的,如果它要面對多個客戶,需要為每個客戶提供該客戶關心的職責,"[b]不應該強迫客戶依賴於它們不用的方法[/b]"。這就是所謂的介面隔離原則(isp)。
我們系統中需要使用介面隔離原則的地方不多,因為大部分類只有乙個客戶。值得一提的是訊息監聽類的實現,比如補單模組的補單***類,這個類的設計如下:
[img]
為訊息***類保留有業務意義的介面總是有意義的,不僅儲存了***類的業務意義,而且使它更便於單元測試。
遵循isp的關鍵是明確軟體類的客戶和它們的需求,然後分別予以抽象。
設計原則之介面隔離原則
定義 客戶端不應該依賴它不需要的介面 類間的依賴關小應該建立在最小的介面上 什麼是介面?1.例項介面 person zhangsan newperson 類person就是zhangsan的例項介面。2.類介面,就是通常意義上,用inte ce關鍵字定義的介面。解釋 根據介面隔離原則的定義 事實上就...
設計原則之介面隔離原則
2.新建乙個手機類mobile和乙個座機類phone,分別來實現介面icommon。如下 5.在類ispfragment中分別使用類wealthman和類poorman,實現富人使用手機和窮人使用座機的效果。如下 6.執行後的效果,如下 以上實現方式可以看出,對於手機類mobile和座機類phone...
設計原則之介面隔離原則(ISP)
只提供呼叫者需要的方法,遮蔽不需要的方法 電子商務系統,該系統中有訂單這個類,並在三個地方使用到訂單類 針對這三種不同的應用場景,為了滿足介面隔離原則,應使用是三個不同的介面進行隔離,每個介面中提供的方法不同,這樣使每個應用都建立在最小介面上 使用者門戶應用介面 public inte ce ior...