Аспектно-ориентированное программирование в C # [закрыто]

StackOverflow https://stackoverflow.com/questions/1416880

  •  06-07-2019
  •  | 
  •  

Вопрос

Есть ли какие-нибудь полезные ресурсы, чтобы обернуть голову вокруг Аспектно-ориентированного программирования?

PS: мне нужно понимать программирование AO, а не библиотеки или фреймворки, доступные для .NET или C # :)

Это было полезно?

Решение

Просто чтобы обдумать это: это способность перехватывать события, такие как: создание объектов, установка свойств и т. д., и прикрепление к ним общих функций, которые будут заполняться соответствующий контекст.

Поскольку в C # нет встроенного средства для этого, вам нужна среда, такая как PostSharp, для выполнения «переплетения байт-кода» (т. е. просто написания кода для фактических вызовов непосредственно для ваших классов) для его моделирования.

Другие советы

Аспектно-ориентированное программирование означает наличие мета-уровня, на котором вы можете определять функции ведения журналов или безопасности / контроля доступа для переплетения с вашим кодом вместо того, чтобы реализовывать эти функции в самом коде. Поэтому вместо того, чтобы быть одномерным, вы должны программировать двумерное.

Я знаю, что это может звучать очень экзотично, но это легко, когда вы это поняли.

AOP часто работает с прокси-классами, которые перехватывают вызовы и работают в фоновом режиме.

Какой своевременный вопрос?

Здесь - подкаст, который стоит прослушать.
Это даст вам хороший обзор того, что такое АОП? где это можно использовать?

Надеюсь, это поможет.

Ниже приведена хорошая ссылка, показывающая, как создать собственную структуру AOP. К сожалению, все ваши потребляющие классы должны наследоваться от MarshalByRefObject (через ContextBoundObject ).

http://www.developerfusion.com / статьи / 5307 / аспект-ориентированного программирования, используя внутрисетевые / 3 /

проверьте это, он описывает, как реализовать AOP (журнал, время, трассировка, обработка исключений ...) с использованием postsharp

http: //www.codeproject. ком / Статьи / 337564 / Aspect-Oriented-программирование-Using-Csharp-и косяки

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top