面象物件設計6大原則之四:介面隔離原則

茅坤寶駿氹發表於2018-05-05

轉載自 面象物件設計6大原則之四:介面隔離原則


介面隔離原則ISP),The Interface Segregation Principle


定義

客戶端不需要強迫依賴那些它們不需要的介面。


類與介面的依賴應該建議在最小的介面上,也就是說介面應該最小化,不能建立在一個龐大的介面之上,介面合理地按功能職能分成更細的幾個單一的子介面。


如果一個介面定義並公佈過多的方法,會導致所有的實現類必須要實現介面的方法,可能不同的業務場景不需要實現,所以介面隔離的原則就是隻實現他們需要的介面。


像spring中的BeanFactory定義了bean的各種最基本的操作的方法,而BeanFactory下面又有3個擴充套件的子介面,擴充套件的子介面擁有父介面的全部方法並且擁有自己的獨特的方法,我們可以按需要直接實現父介面或者實現子介面,這樣就達到了介面隔離的原則,使介面最小化。


看起來,介面隔離原則是不怎麼難實現的原則,只要具備一點業務抽象能力的都可以做到,介面隔離原則在一方面也滿足了單一職責原則。


相關文章