2012-05-05 6 views
1

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

Другая проблема, как выбрать порядок советов из разных аспектов для того же метода?

Thanks

+1

Вы должны разделить это на два вопроса, поскольку две вещи, которые вы задаете, не связаны друг с другом. –

ответ

1

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

AspectJ реализован с помощью манипулирования байтовым кодом, поэтому было бы невозможно внести изменения для отдельных экземпляров, даже если они были частью спецификации AspectJ.

Но, возможно, существует еще один способ реализации того, что вам нужно реализовать, поскольку только требование ткачества в отдельные экземпляры подразумевает, что с вашей реализацией что-то не так.

2

Пока я частично отвечу частично.

Что касается вашего второго вопроса:

как выбрать порядок советы из разных аспектов для же способом?

пожалуйста, посмотрите на declare precedence

Смежные вопросы