Как можно совместить проектирование, управляемое предметной областью, с аспектно-ориентированным программированием?

StackOverflow https://stackoverflow.com/questions/2267206

Вопрос

Я провожу исследование и хочу затронуть один вопрос: «Какова связь между предметно-ориентированным дизайном и аспектно-ориентированным программированием?»

Я знаю, что основным принципом DDD является разделение ответственности, и я это понимаю.В чем я не совсем уверен, так это в том, действуют ли аспекты в АОП как «поддомены» в нашем домене в DDD.

Являются ли эти два понятия, по сути, одним и тем же.Я имею в виду, что если я разработаю приложение, следуя AOP и DDD, в конце концов окажется правдой, что «поддомен» == «аспект».

Я также буду признателен за любые другие мнения о том, что общего между AOP и DDD.

Это было полезно?

Решение

Одна из целей DDD — обеспечить чистое представление вашей бизнес-логики, не зависящее от вашей инфраструктуры.Очень мощный инструмент для достижения этой цели — АОП.В основном я использую AOP для поддоменов инфраструктуры, таких как ведение журналов, кэширование, проверка и обработка исключений.Обычно я не использую АОП для реальной бизнес-логики, однако проверка — это своего рода как инфраструктура, так и бизнес-логика.

В тех случаях, когда АОП проникает в бизнес-логику, я использую атрибуты/аннотации, чтобы вызвать поведение.Что касается других проблем, я буду использовать политику/конфигурацию для применения аспектов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top