2010-02-19 77 views
2

我在回顾KIGG的代码并注意到有这么多的接口。我对MVC相当陌生,并且明白接口是什么,有点。为什么MVC应用程序中有这么多的接口

接口如何在MVC中工作,为什么使用它?

+0

我认为你的问题会受益于一些例子 – 2010-02-19 17:13:07

回答

5

您将为其他应用程序实现接口的相同原因...将实现从实际使用中抽象出来。

它允许ASP.NET MVC框架使用您的代码,即使Microsoft开发人员在编写框架之前没有实现您的实现。

此外,就像tvanfosson提到的那样...接口的使用也极大地增强了ASP.NET MVC团队正确单元测试其框架的能力。

+0

我认为这是一个很好的解释。基本上,你可以确定事情是分开的。它有助于保持代码的不间断分离,但对于将代码绑定在一起也很有用,所以您不会重复。但是,当人们重复使用接口时,他们知道如何实现它,以便所有内容都可以使用相同的语言。 – Layke 2010-02-19 17:13:07

2

我认为你在MVC应用程序中看到更多接口的主要原因是对可测试性的新的强调。这是MVC的重大变化之一,可测试性在框架设计中被赋予更多的权重。在设计单元测试时,接口更容易使用,因为它们允许您开发模拟实现以供测试使用。随着时间的推移,我会期待很多.NET(如Web.Abstractions)转移到更多可测试(抽象基类/接口)形式。

相关问题