Мы использовали aspectJ в одном из моих больших проектов в течение довольно долгого времени. Проект состоял из нескольких веб-сервисов, каждый из которых имел несколько функций, которые были интерфейсом для сложной системы обработки/обработки документов. Где-то около 75 тыс. Строк кода. Мы использовали аспекты для двух относительно небольших функций.
Первый - отслеживание потока приложений. Мы создали аспект, который выполнялся до и после каждого вызова функции для печати «введенных» функций «» и «выведенных» функций ». С помощью функции селекторной функции (pointcut может быть? Я не помню правильного имени) мы могли использовать это как инструмент отладки, выбирая только функции, которые мы хотели отслеживать в данный момент. Это было очень приятно использовать для аспектов нашего проекта.
Вторая вещь, которую мы сделали, - это специфические для приложения метрики. Мы ставим аспекты вокруг наших методов веб-сервисов для сбора времени, информации об объектах и т. Д. И дампа результатов в базе данных. Это было приятно, потому что мы могли захватить эту информацию, но все равно сохраняем весь этот код захвата отдельно от «реального» кода, который выполнял эту работу.
Я прочитал о некоторых приятных решениях, которые могут быть затронуты в таблице, но я все еще не уверен, что они могут действительно делать все, что вы не могли бы сделать (может быть, лучше) с «нормальной» технологией. Например, я не мог придумать какой-либо важной функции или функциональности, которые необходимы для любого из наших проектов, которые не могут быть выполнены так же легко без каких-либо аспектов, - где я нашел полезные аспекты, - это те незначительные вещи, которые я упомянул ,
Будьте осторожны, когда требуется что-то лучшее. Многие эксперты считают, что модель возможностей - лучший способ сделать безопасность, и что АОП - это ужасно. – 2011-10-15 15:41:21
@Brad, Вы говорите, что некоторые вещи лучше всего делать с АОП. Можете ли вы объяснить, что * точно * является преимуществом, делая это методом AOP по сравнению с традиционным способом? – Pacerier 2014-06-13 22:44:40