1. 程式人生 > >面向物件設計原則 介面分離原則(Interface Segregation Principle)

面向物件設計原則 介面分離原則(Interface Segregation Principle)

介面隔離原則

 

使用多個專門的介面,而不使用單一的總介面,即客戶端不應該依賴那些它不需要的介面。

 

從介面隔離原則的定義可以看出,他似乎跟SRP有許多相似之處。

是的其實ISP和SRP都是強調職責的單一性, 介面隔離原則告訴我們在定義介面的時候要根據職責定義“較小”的介面,不要定義“高大全”的介面。

也就是說介面要儘可能的職責單一,這樣更容易複用,暴露給客戶端的方法更具有“針對性”。

 

遵守介面隔離原則,會使程式碼量增加不少,原始碼中也是這樣。

當方法隨著業務需求的增加而不斷增加的話,如果我們不應用介面隔離原則,那麼就可能形成一個龐大臃腫的介面,這樣的介面的可維護性和重用性是很差的。

在專案開發中,依賴幾個專用的介面要比依賴一個綜合的介面更加靈活。通過分散定義多個介面,可以預防外來變更的擴散,提高系統的靈活性和可維護性。

雖然介面隔離原則很有意義,但在實際專案中,應該注意度的把握,介面設計的過大或過小都不好,應該根據實際情況多思考再進行設計。