Атрибутно-ориентированное программирование - Attribute-oriented programming

Атрибутно -ориентированное программирование ( @OP ) - это метод маркировки на уровне программы. Программисты могут помечать программные элементы (например, классы и методы) атрибутами, чтобы указать, что они поддерживают специфичную для приложения или предметную семантику. Например, некоторые программисты могут определить атрибут «ведения журнала» и связать его с методом, чтобы указать, что метод должен реализовывать функцию ведения журнала, в то время как другие программисты могут определить атрибут «веб-службы» и связать его с классом, чтобы указать, что класс должен быть реализованным как веб-сервис. Атрибуты отделяют основную логику (или бизнес-логику ) приложения от семантики, специфичной для приложения или предметной области (например, ведения журнала и функций веб-сервисов). Скрывая детали реализации этой семантики от программного кода, атрибуты повышают уровень абстракции программирования и уменьшают сложность программирования, что приводит к более простым и читаемым программам. Программные элементы, связанные с атрибутами, преобразуются в более подробные программы с помощью вспомогательного инструмента (например, препроцессора ). Например, препроцессор может вставить программу ведения журнала в методы, связанные с атрибутом «ведение журнала».

Атрибутно-ориентированное программирование на разных языках

Джава

С включением Metadata Facility для Java (JSR-175) в выпуск J2SE 5.0 стало возможным использовать атрибутивно-ориентированное программирование прямо из коробки. Библиотека XDoclet позволяет использовать подход атрибутивного программирования в более ранних версиях Java.

C #

Язык C # поддерживает атрибуты с самого первого выпуска. Однако эти атрибуты используются для предоставления информации о времени выполнения и не используются препроцессором (их нет в эталонной реализации C #).

UML

Unified Modeling Language (UML) поддерживает своего рода атрибут стереотипов .

Взломать

Язык программирования Hack поддерживает атрибуты. Атрибуты могут быть прикреплены к различным программным объектам, и информация об этих атрибутах может быть получена во время выполнения посредством отражения.

Инструменты

использованная литература

внешние ссылки