Я недавно пробовал фреймворк Abp и с радостью обнаружил, что это замечательная реализация DDD. Но так как он использует AutoMapper для преобразования DTO в сущности / агрегаты, я заметил, что он способен закорачивать мои частные установщики агрегатов, что явно нарушает основное правило DDD. Хотя цель AutoMapper состоит в том, чтобы уменьшить ручные операции, но DDD подчеркивает инвариант с помощью частных сеттеров.
Как я могу прояснить две, казалось бы, противоречивые концепции и плавно использовать эту платформу? Означает ли это, что я должен отказаться от AutoMapper, чтобы сохранить принципы DDD или наоборот?
Я считаю, что AutoMapper не является анти-паттерном DDD, поскольку он очень популярен в сообществе. Другими словами, если AutoMapper может использовать рефлексию (как я знаю) для установки частных сеттеров, это может сделать кто угодно. Означает ли это, что частные сеттеры по сути небезопасны?
Спасибо, что кто-нибудь может мне помочь или подсказать.