我有一個函數返回相同種類的對象(查詢結果),但沒有屬性或方法的共同點。爲了有一個通用的類型,我使用了一個空接口作爲返回類型,並在兩者上「實現」。空接口代碼味道?
這聽起來不對。我只能抱緊自己,希望有一天這些類會有共同的東西,我會把這個共同的邏輯移到我的空白界面。然而,我並不滿意,並在考慮是否應該採用兩種不同的方法,並有條件地接下來打電話。這會是一個更好的方法嗎?
我也被告知.NET Framework使用空接口進行標記目的。
我的問題是:是一個空的界面設計問題的一個強有力的標誌或被廣泛使用?
編輯:對於那些有興趣的人,我後來發現,功能語言中的歧視工會是我嘗試實現的完美解決方案。 C#對這個概念看起來並不友善。
編輯:我寫了一個關於這個問題的longer piece,詳細解釋了這個問題和解決方案。
這些被稱爲[標記接口](http://en.wikipedia.org/wiki/Marker_interface_pattern),顯然它們被廣泛使用。 – BoltClock
閱讀此http://msdn.microsoft.com/en-us/library/ms182128%28v=vs.80%29.aspx(我的意見需要不同的方法) – V4Vendetta
東西在類似的線http:// stackoverflow。 com/questions/835140/using-marker-classes-to-control-logic-flow – V4Vendetta