![](https://squidex.jugru.team/api/assets/srm/b598bbea-6a80-4a76-9811-a4c8341bab12/2024-04-18-14.45.09.jpg?cache=3600&width=74&height=74&mode=CropUpsize)
Дмитрий Егоров
Компания: Artsofte
Тип доклада: Доклад
Аспектно-ориентированное программирование (АОП) — широко распространенная практика во многих популярных фреймворках, таких как Angular или Spring. В ASP.NET мы привычно используем этот архитектурный подход при работе с контроллерами, что натолкнуло нас на мысль масштабировать АОП на другие слои приложений.
Благодаря подходу АОП мы получаем возможность декларативно управлять поведением кода и инкапсулировать сквозную функциональность, не засоряя основную логику бизнес-кейсов. В .NET существует как минимум четыре механизма для реализации АОП: классические объектно-ориентированные декораторы, посткомпиляция, динамические прокси, а также новая технология Interseptor в C# 12.
Расскажу о нашем опыте использования каждого из этих механизмов АОП, их преимуществах, ограничениях и особенностях. Кроме того, затрону вопрос перехвата зависимостей из контейнера внедрения зависимостей (DI) для реализации внутренних механизмов АОП с целью обеспечения гибкости и расширяемости кода.
Компания: Artsofte