Jump to content
Wikipedia The Free Encyclopedia

Attribute-oriented programming

From Wikipedia, the free encyclopedia
This article includes a list of general references, but it lacks sufficient corresponding inline citations . Please help to improve this article by introducing more precise citations. (August 2009) (Learn how and when to remove this message)

Attribute-oriented programming (@OP) is a technique for embedding metadata, namely attributes, within program code.

Attribute-oriented programming in various languages

[edit ]

C++

[edit ]

C++ has support for attributes. C++11 added attributes, which can indicate extra information to the compiler. C++26 added annotations for reflection.

C#

[edit ]

The C# language has supported attributes from its very first release. These attributes was used to give run-time information and are not used by a preprocessor. Currently with source generators, you can use attributes to drive generation of additional code at compile-time.

Hack

[edit ]

The Hack programming language supports attributes. Attributes can be attached to various program entities, and information about those attributes can be retrieved at run-time via reflection.

Java

[edit ]

Java has support for annotations. With the inclusion of Metadata Facility for Java (JSR-175)[1] into the J2SE 5.0 release it is possible to utilize attribute-oriented programming right out of the box. XDoclet library makes it possible to use attribute-oriented programming approach in earlier versions of Java.

In Java, annotations are used for code generation and reflection.

UML

[edit ]

The Unified Modeling Language (UML) supports a kind of attribute called stereotypes.

Tools

[edit ]

References

[edit ]
[edit ]
Imperative
Structured
Object-oriented
(comparison, list)
Declarative
Functional
(comparison)
Dataflow
Logic
Domain-
specific
language

(DSL)
Concurrent,
distributed,
parallel
Metaprogramming
Separation
of concerns

AltStyle によって変換されたページ (->オリジナル) /