ASP.NET MVC: Сколько репозиториев?

Поместите метатег, который объявляет набор символов как первый элемент в голове. Браузер только ищет до сих пор тег. Если у Вас есть слишком много материала, прежде чем meta элемент, набор символов не мог бы быть применен.

при использовании ОСНОВНОГО элемента поместите его перед любыми элементами та загрузка URIs (при желании).

9
задан dove 28 November 2012 в 08:30
поделиться

6 ответов

Я создаю репозиторий для каждого объекта данных.

Например, простая база данных библиотеки может содержать следующие репозитории:

  • AuthorRepository
  • BookRepository
  • PublisherRepository
2
ответ дан 4 December 2019 в 07:47
поделиться

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

Чем больше я читаю, тем больше думаю, что NerdDinner слишком часто рассматривается как собрание хороших практик, хотя это абсолютно не так (см. здесь для обсуждения, в частности, репозитория NerdDinner). Вот почему люди часто обвиняют другие примеры MS, такие как Oxite здесь :

Разработчики будут стекаться к нему, хвалите это, и слепо принять это как Евангелие потому что он исходит от Microsoft (это уже хорошо в пути). К сожалению, любой разработчик, который принимает его дух, будет остаться с неудобным, непроверяемый и нечитаемый беспорядок

).

8
ответ дан 4 December 2019 в 07:47
поделиться

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

Для более сложного я просто расширяю это с тем, что нужно. На самом деле лучшее из обоих миров.

8
ответ дан 4 December 2019 в 07:47
поделиться

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

Order и OrderDetail.

и будет иметь еще один, скажем, для Customer, CustomerProfile и т. д.

Это поддерживает аккуратность классов репозитория.

Davy

0
ответ дан 4 December 2019 в 07:47
поделиться

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

мы используем такой интерфейс:

public interface IRepository
{
    void Save<ENTITY>(ENTITY entity)
        where ENTITY : Entity;

    void Delete<ENTITY>(ENTITY entity)
        where ENTITY : Entity;

    ENTITY Load<ENTITY>(int id)
        where ENTITY : Entity;

    IQueryable<ENTITY> Query<ENTITY>()
        where ENTITY : Entity;

    IList<ENTITY> GetAll<ENTITY>()
        where ENTITY : Entity;

    IQueryable<ENTITY> Query<ENTITY>(IDomainQuery<ENTITY> whereQuery)
        where ENTITY : Entity;

    ENTITY Get<ENTITY>(int id) where ENTITY : Entity;

    IList<ENTITY> GetObjectsForIds<ENTITY>(string ids) where ENTITY : Entity;

    void Flush();
}

затем используем в коде, подобном этому:

var returnedObjects =  repository.GetAll<ObjectClass>();
var singleObject =  repository.Get<ObjectClass>(id);
5
ответ дан 4 December 2019 в 07:47
поделиться

Я думаю, что, возможно, вас смущает многословие о том, что такое репозиторий. Для меня репозиторий - это хранилище данных (например, база данных MS SQL), в котором хранятся ваши данные.

Следуя шаблону репозитория , я рекомендую настроить один репозиторий для каждого хранилища данных. В большинстве своих проектов я использую MS SQL, поэтому я создаю репозиторий для этой базы данных (мне нравится использовать Subsonic для моего DAL / ORM, и он также реализует шаблон репозитория и шаблон ActiveRecord), затем я создаю фабрики для каждого Таблица. Это позволяет мне завершить классы Subsonic ActiveREcord и дает мне абстракцию.

Надеюсь, это поможет, возможно ...

2
ответ дан 4 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: