Аспект (компьютерное программирование)

Функция, связанная со многими частями программы, не имеющая отношения к основной функции программы

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

Ориентация на аспекты не ограничивается программированием, поскольку она полезна для идентификации, анализа, отслеживания и модуляризации проблем посредством выявления требований, спецификации и проектирования. Аспекты могут быть многомерными, позволяя как функциональному, так и нефункциональному поведению пересекать любые другие проблемы, вместо того, чтобы просто отображать нефункциональные проблемы в функциональные требования. [ необходима цитата ]

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

Ссылки

  1. ^ Авайс Рашид (2004). Аспектно-ориентированные системы баз данных. Springer. ISBN 3-540-00948-5.
Взято с "https://en.wikipedia.org/w/index.php?title=Аспект_(компьютерное_программирование)&oldid=1231829942"