Аспектом программы является функция связана со многими другими частями программы, но которая не связана с основной функцией программы. Аспект пересекает основные проблемы программы, тем самым нарушая разделение задач, которое пытается инкапсулировать несвязанные функции. Например, код ведения журнала может пересекать многие модули, но аспект ведения журнала должен быть отделен от функциональных проблем модуля, который он пересекает. Изоляция таких аспектов, как ведение журнала и постоянство, от бизнес-логики лежит в основе парадигмы аспектно-ориентированного программирования (АОП) . [1]
Аспектно-ориентированность не ограничивается программированием, так как полезно выявлять, анализировать, отслеживать и модулировать проблемы посредством выявления требований, спецификации и проектирования. Аспекты могут быть многомерными, позволяя как функциональному, так и нефункциональному поведению пересекать любые другие проблемы, вместо того, чтобы просто сопоставлять нефункциональные проблемы с функциональными требованиями. [ необходима цитата ]
Один вида разработки программного обеспечения аспектно-ориентированный является то , что каждая главной особенностью программы, основная проблема (бизнес - логика), или сквозной концерна (дополнительные функции), является одним из аспектов, и ткачество их вместе (процесс , называемый также составом) , наконец, получается единое целое из отдельных аспектов. Этот подход известен как чисто аспектное программирование, но чаще используются гибридные подходы. Функциональные проблемы могут пересекать нефункциональные или функциональные проблемы (например, потребность в дополнительных функциях вредит мобильности). Единый подход к представлению и композиции, аналогичный чистому подходу в АОП, называется многомерным представлением. [ необходима цитата ]
Рекомендации
- ^ Awais Рашид (2004). Аспектно-ориентированные системы баз данных . Springer. ISBN 3-540-00948-5.