介面隔離原則

2021-09-13 04:10:48 字數 1732 閱讀 2303

我們在學校的時候,每學期都會評比三好學生,通過德智體美勞全面考查,選舉出優秀的學生,接下來我們以這個為例:

首先,我們定義乙個三好學生的介面:

public

inte***ce

igoodstudent

三好學生的實現類,每個學生都有名字的,三好學生也不例外:

public

class

goodstudent

implements

igoodstudent

@override

public

void

goodgrade()

@override

public

void

goodmorals()

}

接下來,我們在定義乙個老師的抽象類:

public

abstract

class

abstractteacher

//老師誇獎三好學生

public

abstract

void

praise()

;}

老師的實現類:

public

class

teacher

extends

abstractteacher

@override

public

void

praise()

}

場景類如下:

public

class

client

}

執行結果:

老師正在誇獎三好學生…

小明成績非常好

小明品德非常好

但是,還有乙個問題,現在我們可能對品德看的比較重要,還多學生樂於助人,樂於奉獻,也被評為三好學習,但是他們可能成績不是特別優秀,可是這這點不滿足,就不能被評為三好學生了,怎麼辦呢?

我們將上述介面拆開:

public

inte***ce

igoodgradestudent

public

inte***ce

igoodmoralsstudent

這樣,我們最標準的三好學生實現類:

public

class

goodstudent

implements

igoodgradestudent

, igoodmoralsstudent

@override

public

void

goodgrade()

@override

public

void

goodmorals()

}

那麼品德突出的三好學生實現類如下:

public

class

goodmoralsstudent

implements

igoodmoralsstudent

@override

public

void

goodmorals()

}

介面隔離原則

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

介面隔離原則

介面隔離原則 isp 客戶端不應該依賴於它不需要的介面。另一種說法是,類間的依賴關係應該建立在最小的介面上。這樣就可以對客戶端隱藏其他的介面資訊,客戶端 只需要知道它需要的內容介面,然後去處理即可,可以更加專注於對功能的實現,其他一概不管。這就是用最小化介面隔離了實現類的細節,也促使我們將龐大的介面...

介面隔離原則

介面隔離原則是指用多個專門的介面,而不使用單一總介面,客戶端不應該依賴它不需要的介面,這個原則指導我們在設計乙個介面的時候要注意以下幾點 乙個類對另乙個類依賴應該建立在最小的介面之上。建立單一介面,不要建立龐大臃腫的介面 盡量細化每個介面,介面中的方法盡量少 不是越少越好,而是要適度 介面隔離原則完...