設計原則之介面隔離原則(ISP)

2021-09-24 05:45:31 字數 1114 閱讀 5321

只提供呼叫者需要的方法,遮蔽不需要的方法

電子商務系統,該系統中有訂單這個類,並在三個地方使用到訂單類:

針對這三種不同的應用場景,為了滿足介面隔離原則,應使用是三個不同的介面進行隔離,每個介面中提供的方法不同,這樣使每個應用都建立在最小介面上

//使用者門戶應用介面

public inte***ce iorderforportal

//外部系統應用介面

public inte***ce iorderforothersys

public inte***ce iorderforadmin

public class order implements iorderforadmin, iorderforportal, iorderforothersys

public static iorderforothersys getorderforothersys()

public static iorderforadmin getorderforadmin()

@override

public string getorder()

@override

public void insertorder()

@override

public void updateorder()

@override

public void deleteorder()

}public class testisp

}

介面隔離原則是對介面的定義,同時是對類的定義,應盡量使用原子介面或者原子類,其中:「原子」在實踐應用中可以根據以下結果規則來衡量:

乙個介面只對乙個子模組或者業務邏輯進行服務

只保留介面中業務邏輯需要的public方法

盡量修改汙染了的介面,若修改的風險較大,則可採用介面卡模式進行轉化處理

介面設計應因專案而異,因環境而異,不能教條照搬

設計的靈活性,並降低真個專案風險,當業務變化時能夠凱蘇應付。在設計介面時應根據經驗和常識決定介面的粒度大小,如果介面粒度太小,導致介面數量劇增,給開發帶來難度;如果介面粒度太大,靈活性較低,無法地宮定**務,給專案帶來無法預計的風險

介面隔離原則 ISP

一 isp簡介 isp inte ce segregation principle 使用多個專門的介面比使用單一的總介面要好。乙個類對另外乙個類的依賴性應當是建立在最小的介面上的。乙個介面代表乙個角色,不應當將不同的角色都交給乙個介面。沒有關係的介面合併在一起,形成乙個臃腫的大介面,這是對角色和介面...

ISP介面隔離原則

1.isp介面隔離原則 乙個類對另外乙個類的依賴性應當是建立在最小的介面上的。乙個介面代表乙個角色,不應當將不同的角色都交給乙個介面。沒有關係的介面合併在一起,形成乙個臃腫的大介面,這是對角色和介面的汙染。示例 abstract class door inte ce door 現在要求door還要具...

軟體設計原則 介面隔離原則(ISP)

使用多個專門的介面比使用單一的總介面要好 乙個類對另外乙個類的依賴性應該建立在最小的介面上 陳述 例子 door可以加鎖 解鎖 而且可以感知自己是開還是關 door是抽象基類,客戶程式可以依賴於抽象而不是具體的實現。class door 現在我們要增加乙個功能 如果門開啟時間過長,它就會報警 比如賓...