Подтвердить что ты не робот

Какова связь между DDD и "Луковой архитектурой"?

Какова связь между доменным дизайном (DDD) и " Луковая архитектура Джеффри Палермо?

4b9b3361

Ответ 1

В моем выступлении они дополняют друг друга, но с очень разных точек зрения.

Архитектура лука - все о том, чтобы сделать Domain/BusinessLogic независимым на "худших" вещах, таких как data-acccess, UI, сервисы и т.д. Архитектура Onion не заботится о том, как вы создали домен, который у вас есть - он непреклонно защищает его из внешних зависимостей.

Domain Driven Design - все о том, как вы моделируете свой домен и что вы называете своими объектами. Это означает, что каждый класс домена должен иметь прямое отношение к тому, что он представляет в бизнес-домене, который он адресует (т.е. Физический/реальный мир). Таким образом, объект Customer должен называться Клиентом в коде - он должен иметь те же правила, что и клиент, в реальном мире (или как можно ближе).

Ответ 2

Если вы посмотрите на изображение, описывающее архитектуру лука в указанной вами ссылке, то на этом уровне домена DDD основное внимание будет уделяться DDD.

Лук является архитектурным шаблоном для системы, тогда как DDD - это способ разработки подмножества объектов в системе. Эти два могут существовать без друг друга, поэтому ни одно из них не является подмножеством другого. Если бы вы использовали их вместе, то в целом часть, которая была разработана с использованием DDD, была бы подмножеством всей системы.

Чтобы использовать (возможно, плохую) аналогию: лук - это образец для дизайна дома, а DDD - способ заманить дерево, которое является частью дома.