有没有的asp.net网页API接口控制器的任何好处?(Is there any benefit o

2019-09-29 12:25发布

我对编码接口,一个巨大的风扇。 在WCF的世界里,这种高度强调了每个服务。 但是,我越来越深入的ASP.NET Web API中,如MVC 4的延伸,我很好奇,看看是否有一些典型的推理有你的控制器实现从一个接口继承。

我知道ASP.NET网页API的默认设置是这个样子

public class TestsController : ApiController
{

    public IEnumerable<string> Get()
    {
        var testValues = new List<string>
            {
                "Something",
                "Welcome to the top of the world"
            };
        return testValues;
    }
}

与此相对与cooresponding接口(或多个接口)。

public class TestsController : ApiController, ITestsController 
{

    public IEnumerable<string> Get()
    {
        var testValues = new List<string>
            {
                "Something",
                "Welcome to the top of the world"
            };
        return testValues;
    }
}

Answer 1:

我认为这是在使用一个接口一样,对于控制器没有价值。 WCF依赖于接口很多,因为它是SOAP服务的公共的事情,它是用于生成WSDL中的合同东西。 然而,HTTP的Web API不会有那种合同的,它通常是一种不好的做法有它。 此外,当您需要使用依赖注入和单元测试,因为他们让你轻松假依赖的接口是常见的。 不过,我不认为你会注入控制器的依赖到另一个类,所以它没有任何意义有太多。



文章来源: Is there any benefit of asp.net web api controller interfaces?