[心得整理] c# 物件導向程式 - 7.ISP 介面隔離原則

[心得整理] c# 物件導向程式 - 7.ISP 介面隔離原則

前言

SOLID原則學習過程中,有時候覺得這原則是不是違反其他原則呢?
ISP介面隔離原則 就是讓我有這樣個疑惑阿...

介面隔離原則 - 現實生活面

我們在學習新的產品時,會不會希望他的介面越少越好,最好只有一個開關就結束了
不要有複雜的一堆按鈕,這樣學習起來就覺得不會太困難
用飛機來比喻,飛行員的介面超級複雜
但是給乘客使用的娛樂設備就會設計的非常好使用

如果乘客的娛樂設備設計成跟飛行員一樣多的按鈕就算功能在強
我想也沒人會用

介面隔離原則 - 程式面

約束Interface的範圍

程式在設計介面的時候,多個明確規格小介面,會比一個超大介面的來的好
應該有人會想那就把一個功能都切成一個介面不就得了
這樣就違反了 SRP單一職責原則  應該把相同的職責放在一起
所以太過頭也不是好事,如何理解需求做出適合的設計
就是寫程式要去思考的

對我來說 
ISP介面隔離原則,可以防止做出一個包山包海的介面
如何把介面分拆的符合需求去思考

結語

終於把觀念都介紹玩了,接下來的DIP 跟 OCP 我覺得會是最精彩的部份

推薦閱讀

[ASP.NET]91之ASP.NET由淺入深 不負責講座 Day20 – ISP 介面隔離原則

OOP學習筆記 - SOLID的介面分隔原則(ISP)

# 這個 ISP 原則能夠理解 , 那學習 facade pattern 時就不難了

如果內容有誤請多鞭策謝謝