1

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

  1. 用属性装饰父接口方法。
  2. 在子接口中覆盖父接口中的所有方法,然后用属性装饰这些方法。

解决方案 1 真的有效吗?这意味着 wcf 属性会被 child(wcf) 接口继承并作为服务合同的一部分提供吗?这是不好的做法吗?

解决方案 2 会是个好主意吗?重写所有方法只是用 wcf 属性装饰它们似乎适得其反。

4

1 回答 1

1

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

这似乎适得其反,但实际上是合乎逻辑的:您有一个接口,其中包含一些执行某些任务的方法,并且您在其之上添加了另一个“层”,它以您需要的任何方式公开它们。

这样,如果您不想再通过 WCF 公开方法,但假设您想将其设为 RIA 服务,或者您想用假客户端替换它,您只需切换“上”层并更改覆盖。底层的实际接口甚至不需要意识到这一点。

这一切都求助于将“电线”(父界面)连接到正确的“显示器”(子界面)。

于 2012-07-26T12:16:18.230 回答