Почему в приложении MVC так много интерфейсов? - PullRequest
2 голосов
/ 19 февраля 2010

Я просматривал код для KIGG и заметил, что интерфейсов так много. Я довольно новичок в MVC и немного понимаю, что такое интерфейс.

Как работает интерфейс в MVC, почему он используется?

Ответы [ 2 ]

5 голосов
/ 19 февраля 2010

По той же причине, по которой вы будете реализовывать интерфейсы для других приложений ... чтобы абстрагировать реализацию от использования.

Это позволяет ASP.NET MVC Framework использовать ваш код, даже если разработчики Microsoft не сделалитвоя реализация, прежде чем они написали Framework.

Кроме того, как упоминает tvanfosson ... использование интерфейсов также значительно расширяет возможности команды ASP.NET MVC по правильному модульному тестированию их инфраструктуры.

2 голосов
/ 19 февраля 2010

Я думаю, что основной причиной, по которой вы можете увидеть больше интерфейсов в приложении MVC, является новый акцент на тестируемость.Это одно из существенных изменений в MVC, тестируемости уделяется больше внимания при разработке структуры.С интерфейсами гораздо проще работать при разработке модульных тестов, поскольку они позволяют разрабатывать фиктивные реализации для ваших тестов.Со временем я ожидаю, что большая часть .NET (например, Web.Abstractions) перейдет на более тестируемые формы (абстрактные базовые классы / интерфейсы).

...