Как внедрить АОП в продуктивную разработку программного обеспечения?

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

  •  23-09-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

Решение

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

Мы говорим им, что АОП — единственное решение для реализации межзадачных функций:

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

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

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

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

Другие советы

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

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

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

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

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

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