C#:WCF接口实现另一个接口来公开方法

时间:2012-07-26 11:51:40

标签: c# interface

我还有另外一个与此相关的问题,如果您需要任何进一步的细节请阅读。这是与另一个问题的一个要素有关的更具体的问题。我有一个描述dao的界面。该接口由另一个接口实现,该接口将是wcf服务的接口。原因是巧合地,父接口中的所有函数都需要通过wcf接口公开。父接口不包含wcf属性,因为它不需要它们。子接口需要wcf属性才能用作wcf接口。 wcf接口最终可能包含父接口中不存在的更多方法。我可以通过两种方式在子接口上获取这些属性,如下所示:

  1. 使用属性装饰父接口方法。
  2. 覆盖子接口中父接口的所有方法,然后使用属性修饰这些方法。
  3. 解决方案1实际上有效吗? wcf属性是否由子(wcf)接口继承并作为服务契约的一部分提供?这是不好的做法吗?

    解决方案2是个好主意吗?覆盖所有方法只是为了用wcf属性来装饰它们似乎是有效的。

1 个答案:

答案 0 :(得分:1)

我认为您的解决方案#2 是更好的解决方案。

它可能看起来适得其反,但它实际上是合乎逻辑的:你有一个接口,有一些执行某些任务的方法,你在它上面添加另一个'层',它以你需要的任何方式公开它们。

这样,如果您不想再通过WCF公开方法,但是,比方说,您想要将其作为RIA服务,或者您想要将其替换为假客户端,您只需切换“上层”图层并更改覆盖。底层的实际界面甚至不需要知道这一点。

这一切都决定将“wire”(父接口)附加到正确的“display”(子接口)。