Лучше всего Аспектно-ориентированная Платформа для функций / создает действия в [закрытом] .NET

Я знаю, что одно преимущество Ivy состоит в том, что это может использовать различные виды репозиториев. Знаток обычно очень тверд в формате репозитория, который он будет использовать. Это - все, что я знаю.

8
задан PBelanger 7 October 2009 в 19:40
поделиться

2 ответа

PostSharp это в основном полнофункциональный статический ткач. Это означает, что переплетение происходит в процессе сборки на этапе посткомпиляции. И, конечно, это может занять некоторое время. (Обязательно прочтите объявление Гаэля об улучшении производительности во время выполнения и улучшении производительности во время сборки , которые появятся в версии 2.0)

Если вы не хотите накладных расходов на время сборки, Есть только одно решение: использовать динамические ткачи. В .NET существует несколько структур перехвата, например Castle.DynamicProxy или Linfu.DynamicProxy . Они генерируют прокси во время выполнения. Имейте в виду, что эти платформы не могут делать столько же, сколько статическая среда АОП, такая как PostSharp, а также могут работать менее эффективно во время выполнения. Очень часто инфраструктуры IoC предлагают возможности динамического перехвата ( Spring.NET , Unity , Windsor и т. Д.)

Еще одно решение - рассмотреть гибрид weavers, который только статически переплетает точки соединения в процессе сборки, а затем позволяет вам динамически применять аспект во время выполнения. Linfu.AOP , который использует Mono.Cecil в качестве серверной части, работает так же.

Инфраструктуры IoC предлагают возможности динамического перехвата ( Spring.NET , Unity , Windsor и т. Д.)

Еще одно решение - посмотреть на гибридных ткацких станков, которые только статически переплетает точки соединения в процессе сборки, а затем позволяет динамически применять аспект во время выполнения. Linfu.AOP , который использует Mono.Cecil в качестве серверной части, работает таким же образом.

Инфраструктуры IoC предлагают возможности динамического перехвата ( Spring.NET , Unity , Windsor и т. Д.)

Еще одно решение - посмотреть на гибридных ткацких станков, которые только статически переплетает точки соединения в процессе сборки, а затем позволяет динамически применять аспект во время выполнения. Linfu.AOP , который использует Mono.Cecil в качестве серверной части, работает таким же образом.

7
ответ дан 5 December 2019 в 21:20
поделиться

Spring.NET не использует переплетение и основан на очень стабильной среде aop Java. Здесь адрес проекта.

0
ответ дан 5 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

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