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
- Ferramenta de processamento de anotações (apt)
- Spoon , um transformador de programa Java baseado em anotações
- XDoclet , um gerador de programa orientado a Javadoc
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
- Don Schwarz. Espiando por dentro: Programação Orientada a Atributos com Java5
- Sun JSR 175
- Atributos e reflexão - capítulo de amostra do livro Programação C #
- Projeto de modelagem Turnpike
- Fraclet : Um modelo de programação baseado em anotações para o modelo de componente Fractal
- Livro de desenvolvimento de software habilitado para atributos