Attribute-Oriented Programming
Encyclopedia
Attribute-oriented programming (AOP) is a program-level marking technique. Programmers can mark program elements (e.g. classes and methods) to indicate that they maintain application-specific or domain-specific semantics. For example, some programmers may define a "logging" attribute and associate it with a method to indicate the method should implement a logging function, while other programmers may define a "web service" attribute and associate it with a class to indicate the class should be implemented as a web service. Attributes separate application's core logic (or business logic) from application-specific or domain-specific semantics (e.g. logging and web service functions). By hiding the implementation details of those semantics from program code, attributes increase the level of programming abstraction and reduce programming complexity, resulting in simpler and more readable programs. The program elements associated with attributes are transformed to more detailed programs by a supporting tool (e.g. preprocessor
Preprocessor
In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program. The output is said to be a preprocessed form of the input data, which is often used by some subsequent programs like compilers...

). For example, a preprocessor may insert a logging program into the methods associated with a "logging" attribute.

Java

With the inclusion of The Metadata Facility for the Java Programming Language (JSR-175) into the J2SE
Java Platform, Standard Edition
Java Platform, Standard Edition or Java SE is a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use...

 5.0 release it is possible to utilize attribute-oriented programming right out of the box.
XDoclet
XDoclet
XDoclet is an open-source code generation library that enables Attribute-oriented programming for Java via insertion of special Javadoc tags. It comes with a library of predefined tags, which simplify coding for various technologies: Java EE, Web services, Portlet etc.-Example:A typical 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. However these attributes are used to give run-time information and are not used by a pre-processor (there isn't one in C#'s reference implementation).

UML

The Unified Modeling Language
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

 (UML) supports a kind of attributes named Stereotypes
Stereotype (computing)
A stereotype is one of three types of extensibility mechanisms in the Unified Modeling Language . They allow designers to extend the vocabulary of UML in order to create new model elements, derived from existing ones, but that have specific properties that are suitable for a particular problem...

.

Tools


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK