Ответ 1
На самом деле я делаю что-то похожее. Не та же самая цель, но факт использования DDD для создания приложения, работающего с AD.
Я считаю, что LDAP - это мой уровень сохранения. Таким образом, моя модель домена состоит из объектов, характерных для моего приложения, а не для AD. Реализация моего хранилища - это все специфичные для AD вещи, взятие моих объектов и их сопоставление с объектами AD и так далее. Я фактически построил IRepository для базы, а затем IUserRepository и т.д., Если это необходимо для агрегатов домена. Затем реализации называются ADUserRepository.
Я считаю, что это самый простой способ справиться со всем этим и сохранить мой разум; это также облегчает тестирование для того, что я делаю (не уверен, что это поможет вам/вашему приложению).
Я не знаю никаких инструментов OLM (красивый термин), которые вы можете использовать; Я только что сопоставлял его вручную, так как меня действительно интересует только подмножество того, что у него есть.