我還有一個相關的問題,所以請閱讀它,如果你需要任何進一步的細節。這是與另一個問題的一個要素有關的更具體的問題。我有一個描述道的界面。該接口由另一個接口實現,該接口將成爲wcf服務的接口。原因是巧合的是,父接口中的所有功能都需要通過wcf接口進行公開。父接口不包含wcf屬性,因爲它不需要它們。子接口需要wcf屬性才能用作wcf接口。 wcf接口最終可能包含更多不在父接口中的方法。有兩種方法可以考慮在子接口上獲取這些屬性,如下所示:C#:WCF接口實現另一個接口來暴露方法
- 裝飾具有屬性的父接口方法。
- 覆蓋子接口中父接口的所有方法,然後用這些屬性修飾這些方法。
解決方案1實際上工作嗎?這意味着wcf屬性是否會被子(wcf)接口繼承並作爲服務契約的一部分提供?這是不好的做法嗎?
解決方案2是一個好主意嗎?爲了用wcf屬性來裝飾它們,重寫所有的方法似乎是反效果的。
備註:我會擔心這個設計;它混合了內部和外部的依賴關係。你確定這個設計嗎?基礎,內部,接口的任何改變將強制在後代,公共接口上。這就是你想要/需要的嗎?我永遠不會將屬性添加到基本接口,因爲它們在那裏沒有功能。 – 2012-07-26 12:00:31
老實說,我不確定接口繼承設計,但是dao中包含的所有公共函數都需要通過wcf服務公開,這意味着兩個接口是相同的。你會建議完全忘記繼承,並將它們視爲單獨的實體,儘管它們如此相似是一個更好的主意嗎? wcf接口可能最終不會相同,因爲它可能包含更多功能以及dao接口中的功能。我想通過使用繼承我可以強制wcf接口,以確保它公開所有的公共道功能。 – CSharpened 2012-07-26 12:08:00
如果您認爲設計錯誤應該怎麼做,如果您有任何想法,那麼請儘量告訴我,因爲我希望聽到它們。我的其他問題可能會幫助您瞭解解決方案的結構。 – CSharpened 2012-07-26 12:09:06