Как обрабатывать подкачку подобъектов с помощью шаблона репозитория?C#

Место общения программистов C#
Anonymous
Как обрабатывать подкачку подобъектов с помощью шаблона репозитория?

Сообщение Anonymous »

Я изучаю предметно-ориентированный дизайн. В настоящее время я пытаюсь написать простое приложение на C#, разрабатывая его с использованием DDD. Это приложение имеет совокупный корень A, который может содержать 0..n подобъектов B. Это можно представить следующим образом:

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

class A {
public int Id { get; }
public IList { get; }
}
с репозиторием:

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

class ARepository {
public A Get(int id) { ... }
public void SaveOrUpdate(A root) { ... }
public void Delete(A root) { ... }
}
Однако я хотел бы добавить разбиение на страницы при представлении подобъектов B для данного экземпляра A. Как бы я это сделал? Лучшее, что я могу придумать, это изменить A и ARepository на что-то вроде:

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

class A {
public int Id { get; }
}

class ARepository {
public A Get(int id) { ... }
public void SaveOrUpdate(A root) { ... }
public void Delete(A root) { ... }

public IList GetBForA(A root, int offset, int pageSize, out int numPages) { ... }
}
Это, конечно, сработает, но при этом потеряется простота и элегантность модели предметной области.

Какова наилучшая практика обработки подкачки подобъектов с помощью шаблона репозитория? Я не ищу, как справиться с этим, используя определенные библиотеки и т. д., а скорее способ справиться с этим на «уровне шаблона».

Подробнее здесь: https://stackoverflow.com/questions/722 ... ry-pattern

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