# 介面分割原則(ISP: Interface Segregation Principle) ###### tags: `Design Patterns` `book` `principle` 「客戶端不應該被迫使用他們用不到的介面方法」,這個問題一般會隨著專案開發的進行而越來越明顯。當專案中出現了一個負責主要功能的類別,而且這個類別還必須負責跟其它子系統做溝通時,針對每一個子系統的需求,主要類別就必須增加對應的方式。但是,增加越多的方法就等同於增加類別的介面複雜度。因此,每當要使用這個類別的方法時,就要小心地從中選擇正確的方法,無形之中增加了開發及維護的困難度。透過「功能的切分」及「介面的簡化」可以減少這類問題的發生,或是套用設計模式來重新規劃類別,也可以減少不必要的操作介面出現在類別中。