面向物件設計原則 介面分離原則(Interface Segregation Principle)
介面隔離原則
使用多個專門的介面,而不使用單一的總介面,即客戶端不應該依賴那些它不需要的介面。
從介面隔離原則的定義可以看出,他似乎跟SRP有許多相似之處。
是的其實ISP和SRP都是強調職責的單一性, 介面隔離原則告訴我們在定義介面的時候要根據職責定義“較小”的介面,不要定義“高大全”的介面。
也就是說介面要儘可能的職責單一,這樣更容易複用,暴露給客戶端的方法更具有“針對性”。
遵守介面隔離原則,會使程式碼量增加不少,原始碼中也是這樣。
當方法隨著業務需求的增加而不斷增加的話,如果我們不應用介面隔離原則,那麼就可能形成一個龐大臃腫的介面,這樣的介面的可維護性和重用性是很差的。
在專案開發中,依賴幾個專用的介面要比依賴一個綜合的介面更加靈活。通過分散定義多個介面,可以預防外來變更的擴散,提高系統的靈活性和可維護性。
雖然介面隔離原則很有意義,但在實際專案中,應該注意度的把握,介面設計的過大或過小都不好,應該根據實際情況多思考再進行設計。
相關推薦
面向物件設計原則 介面分離原則(Interface Segregation Principle)
介面隔離原則 使用多個專門的介面,而不使用單一的總介面,即客戶端不應該依賴那些它不需要的介面。 從介面隔離原則的定義可以看出,他似乎跟SRP有許多相似之處。 是的其實ISP和SRP都是強調職責的單一性, 介面隔離原則告訴我們在定義介面的時候要根據職責定義“較小”的介面
面向對象設計原則 接口分離原則(Interface Segregation Principle)
interface 提高 意義 有意義 思考 分離 是的 可維護 nbsp 接口隔離原則 使用多個專門的接口,而不使用單一的總接口,即客戶端不應該依賴那些它不需要的接口。 從接口隔離原則的定義可以看出,他似乎跟SRP有許多相似之處。 是的其實ISP和S
接口分離原則(Interface Segregation Principle)
轉載 itblog 禁止 timer 消息 transacti xpl class 設有 接口分離原則(Interface Segregation Principle) 接口分離原則(Interface Segregation Principle)用於處理胖接口(fat
面向物件設計之開放-封閉原則(Open
開放-封閉原則: 對擴充套件開放,對修改關閉,既軟體實體應儘量在不修改原始碼的情況下進行擴充套件 。 好處: 高內聚,低耦合。 降低了各程式之間的耦合性,抽象化設計是開閉原則的關鍵。
面向物件設計的11條原則
[size=large]面向物件設計是什麼?都包含了哪些內容?它所帶來的好處是什麼?需要你為之付出些什麼?在如今這個年代,問這些問題似乎顯得很愚蠢,因為這年頭幾乎每位軟體開發人員都知道如何使用某種面向物件程式語言。可是這個問題還是很重要,因為在我看來,絕大多數人在使用這些語言
接口隔離原則(Interface Segregation Principle,ISP)
好的 作用 log cli 接口設計 設定 sdn dep bsp 接口隔離原則: 1.使用多個專門的接口比使用單一的總接口要好。 2.一個類對另外一個類的依賴性應當是建立在最小的接口上的。 3.一個接口代表一個角色,不應當將不同的角色都交給一個接口。沒有關系的接口合並
C++面向物件程式設計50道程式設計題(第05題)
C++面向物件程式設計50道程式設計題(第05題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第13題)
C++面向物件程式設計50道程式設計題(第13題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第12題)
C++面向物件程式設計50道程式設計題(第12題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第11題)
C++面向物件程式設計50道程式設計題(第11題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
# C++面向物件程式設計50道程式設計題(第10題)
C++面向物件程式設計50道程式設計題(第10題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第09題)
C++面向物件程式設計50道程式設計題(第09題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第08題)
C++面向物件程式設計50道程式設計題(第08題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第07題)
C++面向物件程式設計50道程式設計題(第07題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第06題)
C++面向物件程式設計50道程式設計題(第06題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第04題)
C++面向物件程式設計50道程式設計題(第04題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第03題)
C++面向物件程式設計50道程式設計題(第03題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第02題)
C++面向物件程式設計50道程式設計題(第02題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第01題)
C++面向物件程式設計50道程式設計題(第01題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體
C++面向物件程式設計50道程式設計題(第16題)
C++面向物件程式設計50道程式設計題(第16題) 摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。 本專輯為程式設計入門者、高校計算機軟體