Как внедрить АОП в продуктивную разработку программного обеспечения? - PullRequest
7 голосов
/ 28 января 2010

Я знаю, что этот вопрос задавался раньше, но это было полтора года назад, хотя я думал, что это может быть время для повторного допроса. Я также признал, что это может рассматриваться как субъективное, но я думаю, что есть объективные причины для / против АОП.

Мне было бы интересно узнать , кто использует AOP в разработке программного обеспечения, а также почему или , почему бы не использовать его.

Я вижу АОП как очень сильную парадигму, которая может облегчить многие задачи разработки. Но когда дело доходит до использования AOP в реальных проектах, я понял, что многие лица, принимающие решения едва открыты для него. Как вам удалось внедрить AOP в свои проекты?

Ранее задаваемый вопрос с августа 2008 года: Используете ли вы AOP (Аспектно-ориентированное программирование) в производственном программном обеспечении?

Ответы [ 3 ]

1 голос
/ 28 января 2010

Наши менеджеры слушают свою команду архитекторов.

Мы говорим им, что AOP является единственным решением для реализации функций перекрестного взаимодействия:

  • по разумной цене, в первую очередь
  • без перебора функционального кода, написанного командой разработчиков
  • не забывая (по сравнению с добавлением try-catch к тысячам методов вручную), сейчас и в будущем
  • без необходимости обучать или контролировать то, что делают разработчики (некоторые великолепны, другие - настоящий беспорядок)
  • с хорошей ремонтопригодностью

Правда, наш проект насчитывает 20 разработчиков и длился несколько лет, поэтому существует огромная масса кода. Это единственное решение.

Я считаю, что ключом является использование его только для сквозных задач. Если вы можете закодировать его, используя обычный код, сделайте это. Но если он слишком велик, то АОП является привлекательным и оправданным. Неспособность ограничить АОП приведет к сотням маленьких кодов АОП, что будет очень трудно понять.

И да, наше программное обеспечение является производственным программным обеспечением. От этого зависят сотни клиник!

1 голос
/ 28 января 2010

Мы не используем AOP 100% само по себе, но да, мы используем его всякий раз, когда нам это нужно (в основном Spring AOP; он так хорошо интегрирован со средой Spring)

Как вам удалось внедрить АОП в ваши проекты?

Хорошо, выделите сквозные проблемы, например. вызовы метода трассировки. В Spring AOP вы можете определить аспект (поведение во время выполнения), который будет применен к «зацепленному» фрагменту кода. Имея в виду «подключенный», я имею в виду, вы должны быть в состоянии сгруппировать все методы, где вам нужно это поведение, под одним общим зонтиком Во время выполнения этот зонтичный код получит новое поведение в соответствии с вашим аспектом.

0 голосов
/ 28 января 2010

Spring AOP, как сказал Peakit, легко представить, если вы уже используете Spring Framework в своем проекте.

Я впервые добавил AspectJ для нашего проекта инструментов, который используется только внутри компании и никогда не выпускается для клиентов. Это помогло команде разработчиков и руководству обрести уверенность в инструменте и получить четкое представление о том, что он может для них сделать.

...