Лучшие практики для репозитория - PullRequest
0 голосов
/ 24 ноября 2010

Приношу свои извинения, поскольку этот вопрос трудно выразить красивыми словами.

У меня есть вопрос, похожий на this .

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

        viewModel.Categories= productRepository.FindAll<Category>(c => c.Id > 0).ToList();//is it Correct with Pattern

Хотя я могу получить аналогичный результат и с этим,

        viewModel.Categories = categoryRepository.GetAll();// getting Categories by creating new instance of categoryRepository

В приведенном выше примере мне нужно отображать категории в представлении «Продукт», в категории будет выполняться только диплей, без подмены. Так что же здесь лучше всего делать?

Thnaks

1 Ответ

0 голосов
/ 24 ноября 2010

Как упомянуто в этом сообщении , вы, вероятно, хотите, чтобы между ними был ServiceLayer.Сервисный уровень отвечает за отделение мета-логики от вашего контроллера.По мере того, как ваш код усложняется, возникает необходимость в том, чтобы хранилища знали друг друга, что не очень хорошо.Для службы, однако, это совершенно нормально.Тогда хранилища очень легкие и не понимают бизнес-логики.

Однако ServiceLayer имеет.Например, если нет Categories Collection / Table, но категории встроены в продукты, не должно быть репозитория CategoryRepository.Однако ProductService может содержать метод AllCategories().

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