DDD, уровень Anti Corruption, практическое руководство?

Если вам нужно использовать диалог, наградите пользователя забавно сочувствующим или даже сатирическим и очень коротким пояснительным текстом. Если вы время от времени раздаете что-то веселое, скандальное, они прочитают все .

У пользователя слишком мало здравого смысла. Пожалуйста, удалите этого пользователя и вставьте еще одного.

34
задан Svante 26 May 2009 в 10:10
поделиться

2 ответа

В моей конкретной реализации EmployeeAccessService вызывается репозиторием. Это действительно фасад антикоррупционного уровня. Он делегирует EmployeeAccessAdapter. Адаптер извлекает объект из унаследованной модели (полученной из EmployeeAccessFacade), затем передает его в EmployeeAccessTranslator для преобразования объекта из устаревшей модели в объект домена в модели моего приложения.

EmployeeAccessService

public Employee findEmployee(String empID){
    return adapter.findEmployee(empID);
}

EmployeeAccessAdapter

public Employee findEmployee(String empID){
    EmployeeAccessContainer container = facade.findEmployeeAccess(empID);
    return translator.translate(container);
}

EmployeeAccessTranslator

public Employee translate(EmployeeAccessContainer container){
    Employee emp = null;
    if (container != null) {
        employee = new Employee();
        employee.setEmpID(idPrefix + container.getEmployeeDTO().getEmpID());
        ...(more complex mappings)
12
ответ дан 27 November 2019 в 17:04
поделиться

Из книги DDD (Доменно-ориентированный дизайн: преодоление сложности в самой основе программного обеспечения) Эрика Эванса:

Открытый интерфейс АНТИКОРРУПЦИОННЫЙ СЛОЙ обычно появляется как набор УСЛУГ, хотя иногда это может принимать форму ENTITY.

и немного позже

Один из способов организации дизайна АНТИКОРРУПЦИОННЫЙ СЛОЙ как комбинация ФАСАДОВ, ПЕРЕХОДНИКОВ (оба от Gamma et al. 1995), и переводчики вместе с коммуникационные и транспортные механизмы обычно нужно было поговорить между системы.

Итак, вы можете найти примеры, посмотрев на предлагаемый образец адаптера и образец фасада .

Я попытаюсь перефразировать то, что сказал Эрик Эванс, ваша анти -слой коррупции будет отображаться как услуги за пределами вашего слоя. Таким образом, за пределами антикоррупционного слоя другие слои не будут знать, что они «разговаривают» с антикоррупционным слоем. Внутри уровня вы должны использовать адаптеры и фасады, чтобы обернуть ваши устаревшие источники информации.

Дополнительная информация об уровне защиты от коррупции:

33
ответ дан 27 November 2019 в 17:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: