Основы АОП

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

Мое (очень плохое) понимание АОП состоит в том, что существует множество аспектов создания высококачественной программной системы, которые не вписываются аккуратно в красивый небольшой сплоченный пакет. Некоторые классы, такие как регистраторы, валидаторы, запросы к базе данных и т. Д., Будут использоваться по всей вашей кодовой базе и, следовательно, будут сильно взаимосвязаны. Мое (опять же, очень ) понимание АОП заключается в том, что он связан с лучшими практиками работы с этими типами «универсально связанных» пакетов.

Вопрос: Верно ли это , или я полностью выключен? Если я совершенно неправ, может ли кто-нибудь дать краткое, непрофессиональное объяснение того, что такое АОП, пример так называемого аспекта , и, возможно, даже предоставить простой пример кода?

22
задан Eugie 29 April 2012 в 13:13
поделиться