Теоретически, если вы используете AOP для того, что вы могли бы сделать с жесткой связью, не возникает проблем с производительностью, накладных расходов и дополнительных вызовов методов, если вы не тратите впустую. AOP Framework предлагает вам способ устранения жесткой связи и факторизации вашей сквозной задачи.
На практике AOP Framework может вводить 3 типа издержек:
- противопожарное время
- Механик перехвата
- потребительская интеграция (способ выработки совета)
Для получения более подробной информации вы можете обратиться к когда код выполняется, если это .
Просто будьте осторожны, когда вы реализуете совет, потому что трансверсальный код является соблазном для упаковки / распаковки и отражения (дорогой с точки зрения производительности).
Без AOP Framework (жестко увязывающего ваши межсекторальные задачи) вы сможете легче разрабатывать предполагаемые советы (выделенные для каждой процедуры) без упаковки / распаковки и отражения.
Вы должны знать, что большинство AOP Framework не предлагают способ полностью избежать упаковки / распаковки и отражения.
Я разработал один для удовлетворения большинства недостающих потребностей, сосредоточенный на 3 вещах:
- удобный (легкий, легкий в освоении)
- прозрачный (без взлома кода для включения)
- эффективный (без упаковки / распаковки, без отражения в номинальном коде пользователя и хорошей механике перехвата)
Мой проект с открытым исходным кодом находится здесь: Puresharp API .net 4.5.2 + ранее NConcern .NET AOP Framework