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
  1. ^ "The Java Community Process(SM) Program - communityprocess - final".
edit

📚 Artikel Terkait di Wikipedia

Aspect-oriented programming

In computing, aspect-oriented programming (AOP) is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting

Attribute (programming)

In object-oriented programming, an attribute is a specification that defines a property of an object, element, or file. It may also refer to or set the

Object-oriented programming

Object-oriented programming (OOP) is a programming paradigm based on objects – software entities that encapsulate data and function(s).[clarification

List of programming languages by type

This is a list of notable programming languages, grouped by notable language attribute. As a language can have multiple attributes, the same language can

Outline of computer programming

programming) Visual Pseudocode Array programming End-user development Metaprogramming Automatic programming Reflection Attribute-oriented programming

Object (computer science)

implicitly extend Object. Attribute (object-oriented programming) Business object Class (computer programming) Class-based programming Data transfer object

AOP

Internet Relay chat access level Agent-oriented programming Aspect-oriented programming Attribute-oriented programming Appellation d'origine protégée, the

Eiffel (programming language)

Eiffel is an object-oriented programming language designed by Bertrand Meyer (an object-orientation proponent and author of Object-Oriented Software Construction)