Programação orientada a atributos - Attribute-oriented programming

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

Programação orientada a atributos em várias linguagens

Java

Com a inclusão do Metadata Facility for Java (JSR-175) na versão J2SE 5.0, é possível utilizar a programação orientada a atributos pronta para uso. A biblioteca XDoclet torna possível usar a abordagem de programação orientada a atributos em versões anteriores do Java.

C #

A linguagem C # oferece suporte a atributos desde seu primeiro lançamento. No entanto, esses atributos são usados ​​para fornecer informações de tempo de execução e não são usados ​​por um pré-processador (não há nenhum na implementação de referência do C #).

UML

A Unified Modeling Language (UML) suporta um tipo de atributo chamado estereótipos .

Hackear

A linguagem de programação Hack oferece suporte a atributos. Os atributos podem ser anexados a várias entidades do programa e as informações sobre esses atributos podem ser recuperadas em tempo de execução por meio de reflexão.

Ferramentas

Referências

  • "Programação Orientada a Atributos" . Uma introdução à programação orientada a atributos . Arquivado do original em 26 de maio de 2005 . Recuperado em 22 de julho de 2005 .
  • Wada, Hiroshi; Suzuki, Junichi (2005). "Modeling Turnpike Frontend System: a Model-Driven Development Framework Leveraging UML Metamodeling e Attribute-Oriented Programming" (PDF) . Em Proc. da 8ª Conferência Internacional ACM / IEEE sobre Linguagens e Sistemas de Engenharia Orientada a Modelos (MoDELS / UML 2005). Arquivado (PDF) do original em 03/03/2016 . Página visitada em 2006-03-21 .
  • Rouvoy, Romain; Merle, Philippe (2006). "Aproveitando a programação orientada a componentes com programação orientada a atributos" (PDF) . Em Proc. do 11º ECOOP International Workshop on Component-Oriented Programming (WCOP 2006). Arquivado do original (PDF) em 23/12/2006.

links externos