0

With out creating the interface, we can also directly created the service by placing Contract in the implemented class.So why we create Interfaces in WCF.

[ServiceContract()]
public class SimpleCal
{
  [OperationContract()]
  public int Add(int num1, int num2)
  {
    return num1 + num2;
  }
}

Update "Why do I want to avoid using an Interface ? What would be the advantage to use a class only ?"

4

1 回答 1

0

简单的回答:没有。

使用接口是一种通用的开发良好实践。它在这里被强制执行,因为 ServiceContract 只是服务根据“方法”向客户提供的内容的“声明”。实现与它无关,因此,没有必要将实现“耦合”到服务契约。

另外,如果您查看接口的定义(source):

[...] 术语“接口”通常用于定义不包含数据但公开定义为方法的行为的抽象类型。

这正是 ServiceContract 所做的。要问自己的真正问题应该是:

“为什么我要避免使用接口?只使用类有什么好处?”

附加说明:如果您想查看最有用(在我看来)的接口应用程序之一,您应该看看这个:http ://martinfowler.com/articles/injection.html

于 2013-10-10T08:23:10.437 回答