Могут ли методы репозитория в DDD (проектирование, управляемое доменом) принимать объекты или объекты-значения, из которC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Могут ли методы репозитория в DDD (проектирование, управляемое доменом) принимать объекты или объекты-значения, из котор

Сообщение Anonymous »

Насколько мне известно, каждый корень агрегата имеет свой собственный репозиторий, и репозиторий должен работать только с агрегатным объектом и его первичным ключом.
Например, для агрегатного назначения:< /p>

Код: Выделить всё

    public class Appointment
{
public int Id { get; set; }
public DateOnly ForDate { get; set; }
public string ForTimeInterval { get; set; }
public Person ForPerson { get; set; }
}
одной версией репозитория для встреч может быть следующая:

Код: Выделить всё

    public class AppointmentRepository
{
public Appointment FindById(int Id) { }
public void Appointment Add(Appointment appointment) { }
public void Remove (Appointment appointment) { }
public int Count() { }
}
Мой вопрос: разрешены ли какие-либо из следующих методов в репозитории или они должны быть в каком-то другом месте, например AppointmentDataAccess(DAO/DAL):

Код: Выделить всё

    public class Repository
{
. . .

public IEnumerable FindAppointmentsForDate(DateOnly date) { }

public IEnumerable FindAppointmentsForPerson(Person person) { }
. . .
}
Кроме того, мне нужно сделать запрос, который возвращает все свободные интервалы времени для некоторой даты. TimeInterval также бесплатен, если количество резервирований не превышает X. Все это бизнес-логика, поэтому для меня имеет смысл иметь два метода в репозитории и проверять логику в службе приложений (или, может быть, в службе домена???). Данные используются для заполнения раскрывающихся списков или аналогичных элементов пользовательского интерфейса, что обычно я делаю, используя более абстрактную логику доступа к данным, такую ​​​​как DAO/DAL и другие виды.
Вопрос помечен как CQRS, но это не так. необходимо опубликовать ответ на него.

Подробнее здесь: https://stackoverflow.com/questions/790 ... r-value-ob
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»