Attribute-oriented programming (@OP) is a technique for embedding metadata, namely
attributes, within program code.
Attribute-oriented programming in various languages
Java
With the inclusion of
Metadata Facility for Java (JSR-175)
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.
C#
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.
UML
The
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.
UML provides a standard notation for many types of diagrams which can be roughly ...
(UML) supports a kind of attribute called
stereotypes
In social psychology, a stereotype is a generalization, generalized belief about a particular category of people. It is an expectation that people might have about every person of a particular group. The type of expectation can vary; it can ...
.
Hack
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.
Tools
Annotation Processing Tool (apt)Spoon an Annotation-Driven Java Program Transformer
XDoclet a Javadoc-Driven Program Generator
References
*
*
*
External links
* Don Schwarz
* Sun
ttps://www.jcp.org/en/jsr/detail?id=175 JSR 175Attributes and Reflection- sample chapter fro
Programming C#book
Fraclet: An annotation-based programming model for th
Fractalcomponent model
Attribute Enabled Software Developmentbook
Programming paradigms
{{Comp-sci-stub