接口隔離原理如何應用於便利/輔助方法?例如:接口隔離原理和便利/輔助方法
我想創建一個表示業務夥伴的接口。最低限度,我需要將是一個setter和將設置或獲取合作伙伴的完整列表getter方法:
Interface Partners {
method getList();
method setList();
}
我也希望有一個contains()方法,如果告訴我某個人被列入合作伙伴名單。我認爲這是一個助手或便利方法,因爲它只是調用getPartners(),然後檢查給定的人是否在該列表中。
我對接口隔離原理的理解是,我應該將我的contains()方法分離到一個單獨的接口中,因爲有人可能想實現我的Partners接口而不提供此不必要的輔助方法的實現。在我的例子中,它並不是什麼大不了的事,但是輔助方法列表可以很快增長(addPartner,addPartnerByID,addPartnerByUserid等),所以這是一個實際問題。
我的問題是,我發現選擇一個接口的名字非常困難,因爲我的contains()方法聽起來並不麻煩,我認爲任何時候你在命名時都有這麼多麻煩,它是一個紅旗表明你的設計有問題。擁有一個名爲PartnersSupportingSetInclusionChecks的接口似乎不太合適,但看起來只有一個名爲PartnerHelperMethods的接口似乎也不錯。
如何將接口隔離原理應用於這些方法?