Какова лучшая реализация для AOP в .NET? [закрытый]


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

try { /* code */ }
catch (Throwable t) { t.printStackTrace(); }
81
задан Tony THONG 12 December 2016 в 18:21
поделиться

3 ответа

Я думаю, что замок Dynamic Proxy является предпочтительным решением, если динамический перехват может обработать Ваши потребности. Эта платформа используется внутренне большим количеством других платформ, которые хотят предложить возможности AOP. Как правило, большинство существующих контейнеров МОК теперь обеспечивает некоторые динамические механизмы перехвата (Spring.NET, замок Windsor, StructureMap, и т.д.), Если Вы уже работаете с контейнером МОК, возможно, могло бы быть легче посмотреть на то, что он предлагает.

, Если динамический перехват не может обратиться к Вашим потребностям (ткущий запечатанный класс, прервав невиртуальный вызов, и т.д.), то Вы, конечно, хотите статическое переплетение. PostSharp является ссылкой в этом домене.

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

45
ответ дан 24 November 2019 в 09:43
поделиться

"Лучше всего" субъективно.

Первый, составьте список функций, в которых Вы нуждаетесь, Ваша архитектура, и т.д. Тогда ищете опции, которые делают то, в чем Вы нуждаетесь, не представляя ненужную сложность. Например, несколько - ориентированный интерфейс: Ваш код в настоящее время ориентированный интерфейс? В противном случае PostSharp мог бы быть лучшим выбором (сотканный в исходные классы). Но конечно, PostSharp не может быть настроен во времени выполнения... лошади для курсов.

13
ответ дан 24 November 2019 в 09:43
поделиться

Я не знаю о лучшем, существует много платформ и недостаточно часов в день для попытки их всех.

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

я также изучил AOP с замком Windsor и Spring. Сеть, подход отличается (время выполнения по сравнению со временем компиляции). Смешивание AOP и МОК, кажется, имеет смысл. Когда Вы еще не используете одну из этих платформ, это - намного больше работы, чтобы начать, но сделать не позволенный, которые останавливают Вас.

Для новых проектов теперь я, вероятно, использовал бы замок Windsor, но это главным образом, потому что я также хотел бы использовать МОК. Если бы я должен был быстро реализовать AOP в существующую кодовую базу, то я использовал бы PostSharp.

5
ответ дан 24 November 2019 в 09:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: