Как доменный дизайн может сочетаться с аспектно-ориентированным программированием? - PullRequest
9 голосов
/ 15 февраля 2010

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

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

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

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

1 Ответ

9 голосов
/ 15 февраля 2010

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

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

...