Структура проекта MVC-3 - PullRequest
       25

Структура проекта MVC-3

2 голосов
/ 02 апреля 2011

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

CORE 
  --Self Explanitory
DATA 
  --Contains EF 4.1 EDMX, POCO's Generic Repository Interface
DATAMapping
  --Contains Generic Repository
Services
  -- Contains nothing at the moment
MVC 3 Application
  -- Self Explanitory

Вот мой вопрос. Я читал, что лучше всего придерживаться диеты контроллеров, и что модели / модели представления должны быть глупыми, поэтому я представляю часть уровня обслуживания в структуре моего проекта. Актуальный вопрос сейчас; Это хороший подход или я создаю слишком много работы для себя?

Так что, если я хочу сказать, что у вас есть какие-либо операции CRUD для продуктов или категорий или каких-либо других объектов, то создание хранилища должно быть создано из уровня обслуживания / уровня бизнес-логики?

Какой-то вклад, пожалуйста ??

1 Ответ

3 голосов
/ 02 апреля 2011

Лично у меня есть сервисный уровень, ссылающийся только на общие и абстрактные репозитории для операций CRUD.Например, конструктор сервисного уровня может выглядеть так:

public class MyService: IMyService
{
    private readonly IFooRepository _fooRepo;
    private readonly IBarRepository _barRepo;

    public MyService(IFooRepository fooRepo, IBarRepository barRepo)
    {
        _fooRepo = fooRepo;
        _barRepo = barRepo;
    }

    public OutputModel SomeBusinessMethod(InputModel input)
    {
        // ... use CRUD methods on _fooRepo and _barRepo to define a business operation
    }
}

, и контроллер просто возьмет IMyService в свой конструктор и будет использовать бизнес-операцию.

Тогда все будет привязано к выбранной вами структуре внедрения зависимостей.

...