2024-09-22|閱讀時間 ‧ 約 23 分鐘

設計原則入門:介面隔離原則 Interface Segregation Principle

    想像你在設計一個系統,而這個系統裡有一個超級大的介面,裡面包含了所有功能。結果每次你只想加一個小功能,卻必須修改這個巨大介面,還要實作你根本不需要的其他功能,這不僅浪費時間,還讓整個系統越來越複雜。


    這時候就輪到「介面隔離原則」出場了!這個原則的意思是:「不要強迫一個類別去實作它不需要的功能」,而是把大的介面拆分成小介面,讓每個類別只負責自己需要的部分。


    舉個簡單的例子

    假設你是個廚師,假如公司要求你不僅要煮飯,還要兼任洗衣、修車,那你會不會覺得超級混亂?這就是系統裡的大介面可能會造成的困擾。


    如果我們遵守介面隔離原則,那就是把煮飯、洗衣、修車分成不同的工作內容,廚師只需要專注於煮飯,不會被其他工作拖累。這樣不僅讓每個人做自己擅長的事,也避免了很多不必要的麻煩。


    遵守這個原則後,我們會將「煮飯」、「洗衣」、「修車」分成三個小介面,這樣廚師只需要實作「煮飯」的部分,完全不需要理會其他不相關的事。


    這麼做有什麼好處?

    首先這樣讓程式碼更乾淨,維護也更容易。因為我們只需要關注自己負責的部分,不會被不相關的功能牽連。再來修改某個功能時,系統的其他部分不會受到影響,降低了出錯的風險。


    當然也不是說每個介面都要切得非常小,過度拆分反而會讓系統變得難以管理。所以我們在設計時要保持一個平衡,既要讓介面簡單明確,又不要把事情弄得太過複雜。


    實際應用

    比如在寫GUI使用者介面時,按鈕的功能跟下拉選單的功能是不一樣的,按照介面隔離原則,我們會把這些功能拆分成不同的介面,讓每個元件各司其職,這樣系統就會變得更靈活,維護起來也更容易。


    總結一下,介面隔離原則就是讓每個人專注在自己擅長的事,不要被額外的事情打擾。就像你不會要求廚師去修車一樣,程式碼也應該只做它該做的事,這樣不僅讓系統更簡單,維護起來也少了很多麻煩。專注才能帶來效率,這就是介面隔離原則的核心精神!


    對設計原則感興趣的朋友,推薦參考我在iThome鐵人賽的文章。
    https://ithelp.ithome.com.tw/articles/10356032

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.