Конечно, вы можете использовать PersonProxy в интерфейсе к PersonRepository и получать к нему доступ через службу, если вы не хотите напрямую вызывать PersonRepository.
ел множество примеров ленивой загрузки - какой у тебя выбор?
Приведенный класс модели для примера:
public class Person
{
private IList<Child> _children;
public IList<Child> Children
{
get {
if (_children == null)
LoadChildren();
return _children;
}
}
}
Класс Person не должен ничего знать о том, как загружаются его дети .... или так? Конечно, он должен контролировать, когда заполняются свойства, или нет?
Будет ли у вас хранилище, которое объединяет Человека с его дочерней коллекцией, или вы используете другой подход, например, использованиеLazyLoad класс - даже тогда, я не хочу, чтобы ленивый класс размылся в моей модели архитектуры.
Как бы вы справились с производительностью, если сначала запросите Person, а затем его Children (то есть не ленивую загрузку в этом случае) или как-нибудь ленивую загрузку.
Все это сводится к личному выбору?