Professor
Neste capítulo será abordado o uso do Paradigma da Programação Orientada a Aspecto.
5.1 Introdução a programação Orientada a Aspecto.
No desenvolvimento de software há sempre uma preocupação com a otimização dos sistemas a serem desenvolvidos. Características como eficiência e simplicidade sempre foram o alvo para uma boa prática de programação. Várias linguagens de programação foram criadas pensando sempre em eficiência e simplicidade, e com as evoluções destas Linguagens foi possível desenvolver o Paradigma de Programação Orientada a Objeto (POO).
Conforme Sommerville (2007, pag.208) afirma, ”Um sistema orientado a objetos é constituído de objetos que interagem e mantém seu próprio estado local, fornecendo operações baseadas nesse estado”. Com a POO é possível abstrair objetos concretos e abstratos em classes que facilitam a visualização e entendimento dos códigos. Mesmo com os seus recursos a POO ainda não conseguiu atingir todos os seus objetivos proposto por este paradigma, problemas como códigos poluídos e repetitivos facilmente podem ser encontrados ao longo de um sistema.
Um exemplo de código repetitivo é o log de um sistema, que tem a função de armazenar as informações de acesso quando o usuário acessa o sistema para uma possível auditoria, os códigos da função do log ficam espalhados por quase todos os módulos do sistema, fazendo que o sistema fique poluído de códigos, tenha um forte acoplamento e dificulte o entendimento do mesmo. O objetivo da programação orientada a aspecto é encapsular essas funções que estão espalhadas no sistema, e separá-las fisicamente do sistema, em módulos.
Com desígnio de resolver este problema, foi desenvolvido o Paradigma de Programação Orientado a Aspecto (POA). Nesse paradigma é criada uma abstração que ficará os determinados códigos de lógica do sistema, essa abstração é chamada de aspecto, que é executado automaticamente em algum local determinado do modulo no