Programação Orientada a Atributo

Programação orientada a atributo (PO@) é uma técnica de marcação em nível de programa. Programadores podem marcar elementos de programa (por exemplo, classes e métodos) para indicar que eles mantêm semânticas específicas de aplicação ou domínio. Por exemplo, alguns programadores podem definir um atributo "logging" e associá-lo com um método para indicar que o método deve implementar uma função de logging, enquanto outros programadores podem definir um atributo "web service" e associá-lo com uma classe para indicar que a classe deve ser implementada como um web service. Atributos separam a lógica central da aplicação (ou a lógica de negócios) das semânticas específicas de domínio ou aplicação (por exemplo, funções de logging e web service). Ocultando os detalhes de implementação destas semânticas do código de programa, atributos aumentam o nível de abstração de programação e reduzem a complexidade de programação, resultando em programas mais simples e legíveis. Os elementos de programa associados com os atributos são transformados em programas mais detalhados por uma ferramenta de suporte (por exemplo, o pré-processador). Por exemplo, um preprocessador pode inserir um programa de logging nos métodos associados com o atributo "logging".

Programação orientada a atributo em várias linguagens editar

Java editar

Com a inclusão do Metadata facility for Java para Linguagem de programação Java (JSR-175) no J2SE 5.0 é possível utilizar a programação orientada a atributo. A biblioteca XDoclet torna possível utilizar a abordagem de programação orientada a atributo em versões mais antigas de Java.

C# editar

A linguagem C# suporta atributos das primeiras versões. Contudo estes atributos são usados para passar informação em tempo de execução e não são utilizados pelo pré-processador (não há uma referência de implementação do C#).

UML editar

A Linguagem de Modelagem Unificada (UML) suporta um tipo de atributo chamado Estereótipo.