Применение аспектно-ориентированного программирования

13
задан David Archibald 16 September 2019 в 22:43
поделиться

2 ответа

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

Пострезкие работы путем переплетения во время компиляции. Это реклама постшаг компиляции к Вашей сборке, где это изменяет Ваш код. Код компилируется, как будто Вы просто запрограммировали сквозные проблемы в Вас код. Это более производительно, чем переплетение во время выполнения и из-за использования Пострезких атрибутов очень просто в использовании. Я думаю с помощью атрибутов для AOP, не так проблематично как использование его для DI. Но это - просто мой персональный вкус.

, Но...

, Если Вы уже используете замок для внедрения зависимости, я не вижу серьезных оснований, почему Вы не должны также использовать его для материала AOP. Я думаю, хотя AOP во времени выполнения немного медленнее, чем во время компиляции, это также более мощно. AOP и DI являются, по-моему, связанными понятиями, таким образом, я думаю, что это - хорошая идея использовать одну платформу для обоих. Таким образом, я, вероятно, посмотрю на материал замка снова следующий проект, мне нужен AOP.

10
ответ дан 1 December 2019 в 21:53
поделиться

Несколько незначительных проблем с PostSharp...

Одна проблема, которую я имел с PostSharp, - то, что при использовании asp.net, номера строки для сообщений об исключениях отсутствуют количеством инструкций IL, введенных в блоки PostSharp, поскольку PDBs не введены также:-).

кроме того, без блоков PostSharp, доступных во времени выполнения, ошибки периода выполнения происходят. Используя Виндзор, квершлаги могут быть выключены позднее без того, чтобы перекомпилировать кода.

(надеюсь, что это имеет смысл)

14
ответ дан 1 December 2019 в 21:53
поделиться
Другие вопросы по тегам:

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