В типичной трехслойной системе GUI-> DOMAIN-> DAL, где находится IRepository?Принадлежит ли он к DOMAIN или DAL.Я недостаточно знаю об ортогональности и уровнях обслуживания, чтобы понять, в чем разница. (Edit) Позвольте мне уточнить.Где (на каком уровне?) Должен быть определен интерфейс IRepository?Также в каком слое должен быть реализован IRepository?Позвольте мне прояснить еще больше ... Я пытаюсь смешать "Отдельный интерфейс" Фаулера с IRepository.Моя задача - обеспечить соблюдение правил зависимости.Если IRepository определен в DOMAIN, пакет DAL будет зависеть от DOMAIN.Иначе, если, наоборот, IRepository определен в DAL, то DOMAIN будет зависеть от DAL.Опять же, где находится IRepository?Это мое третье редактирование.