Я пытаюсь следовать чистой архитектуре с DDD, используя решение, имеющее следующие три типа проектов:
- MyProject.Core (объекты, интерфейсы и службы)
- MyProject.Infrastructure (репозитории, события, журналы, фабрики ???)
- MyProject.API (контроллеры)
У меня есть фабричный класс MapperFactory
, который реализует интерфейс IMapperFactory
который возвращает IMapperService
на основе MapType
, переданного на завод. Реализации IMapperService
находятся на уровне Core.
Я пытаюсь понять, где должны находиться классы реализации Factory. Все мои репозитории реализованы в инфраструктурном проекте, но доменные службы реализованы в базовом проекте в соответствии с рекомендациями по чистой архитектуре (по крайней мере, как я их читаю)
Мне кажется, что реализация для фабрики должна быть в основном проектепотому что там находятся все реализации, которые нужно создать, но не уверены. Если это должно быть в основном проекте, каким типом объекта это будет, поскольку это не сущность, служба или интерфейс?