Архитектура MVC - PullRequest
       4

Архитектура MVC

1 голос
/ 13 августа 2010

Я знаю, что подобные вопросы были опубликованы ранее, но у меня есть определенные требования, которые делают это, насколько я могу найти без ответа.

Проект хочет иметь типичную трехуровневую архитектуру, но он хочет, чтобы уровень данных был абстрагирован Entity Framework, уровень представления - MVC 2, а уровень приложения - простая библиотека классов.

Соответствуют ли эти компоненты (EF и MVC) этой архитектуре.

Примечание: проект будет следовать методологии TDD.

Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 13 августа 2010

Абсолютно.

Любая хорошая демонстрация / статьи о веб-приложениях ASP.NET MVC следуют этой архитектуре.

Обычно ваше решение будет выглядеть так:

YourProject.Model (Библиотека классов с POCO - доменные объекты)

YourProject.Repository (Библиотека классов с Entity Framework).

YourProject.Services (библиотека классов выступает посредником между репозиторием и контроллерами)

YourProject.MVC (веб-приложение MVC2)

YourProject.Tests (модульный тестовый проект - обычно 1 проект на уровень)

Чтобы ответить на ваши вопросы, репозиторий абстрагирует данные от других модулей, уровень представления - это MVC2, а прикладной уровень может быть встроен в модуль служб или вообще иметь другой модуль.

Конечно, MVC прекрасно сочетается с TDD, вы можете издеваться над контроллерами и тестировать библиотеку классов так же, как вы тестировали бы любую библиотеку классов.

Посмотрите серию витрин магазина MVC Роба Конери на сайте www.asp.net - лучшая серия видео, которые я когда-либо видел.

Удачи!

0 голосов
/ 13 августа 2010

Посмотрите пример ContactManager с учебником из восьми разделов на веб-сайте ASP.NET MVC, он реализован с классом хранилища, поэтому слой данных абстрагирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...