我似乎無法找到答案,只是想確保它是一個好的編碼標準。我有許多不同類使用的接口A,並且不希望接口A發生變化。我遇到了一個新的需求,需要實現接口A的許多類需要枚舉,但並不是所有的類都需要這個枚舉。我不希望那些不需要這個新枚舉的類實現這個新的功能。所以我創建了包含我需要添加的新枚舉的接口B.然後我做了Interface B繼承接口A,這是我的擔心,一個接口繼承另一個接口可以嗎?爲了繼續我的更改,我然後將需要新枚舉的類更改爲實現接口B而不是接口A,因爲它是由接口B繼承的。我想過在我的類中實現兩個接口,但需要它們,但我使用在整個代碼中的接口,並希望只使用一個接口來查看類而不是兩個。如果一個接口繼承另一個接口
我希望這已經夠清楚了(可能會很長),但是如果任何人都可以給我一些建議,或者我做得對或者我做錯了,請告訴我。
謝謝!
我最初建議Liskov替代原則應該適用。回想起來,這並不是真的有意義。 LSP的大部分要求(保持不變量,對條件前後的限制)實際上只適用於具體的實現,而不適用於接口。話雖如此,可替代性的一般原則仍應指導接口繼承決策。 –
Liskov替代原理:確保接口B可以完全替代接口A是非常重要的。否則,您將最終得到您不需要實現的功能。這會導致您不需要的額外代碼,從而導致軟件不穩定。 –