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