Do que trata o artigo

O artigo fundamenta o paradigma Orientado a Aspecto abordando seus elementos e a implementação deste conceito utilizando o framework Spring.NET.


Para que serve

Para organizar o código orientado a objetos em comportamentos, de forma tal que facilite sua manutenção e flexibilidade.


Em que situação o tema é útil

Para centralizar operações comuns de infraestrutura, como por exemplo, registro de Logs, controle de exceções, regras de permissão, garantindo sua execução de forma automática. Esses são conceitos chamados de cross-cuting, pois podem atravessar todas as camadas lógicas de um software.

Resumo do DevMan

O uso do paradigma Orientado a Aspecto (AOP) complementa implementações no modelo orientado a objeto facilitando o desenvolvimento das aplicações, separando a implementação de regras de negócio de infraestrutura. AOP traz mecanismos que interagem e controlam objetos em tempo de execução e compilação, abstraindo qualquer implementação que afetará o uso da aplicação horizontalmente. O corte horizontal na aplicação é feito quando funcionalidades genéricas que interagem diversas vezes no ciclo de vida dos objetos são candidatas a esta abstração por parte de um aspecto.

O uso do paradigma Orientado a Objetos (OO) é incontestável pelo fato de termos muitas linguagens que implementam este conceito, em nosso caso C#. Não é fácil abstrair um modelo de objetos capaz de mapear suas operações através de conceitos como: herança, polimorfismo, condições por contrato, mas mesmo assim a orientação a objetos ajuda a expressar melhor o problema a ser resolvido. Existe apenas um ponto que não pode ser mapeado de uma forma simples e fácil com OO, é a modelagem do comportamento dos objetos.

Para modelar o comportamento de objetos utilizamos sempre um padrão de projeto, como Strategy, Command, Factory, enfim, uma série de alternativas nas quais não se consegue extrair a essência a partir de um modelo mais simples. Neste caso, podemos utilizar um complemento ao paradigma de objetos, que é o paradigma Orientado a Aspectos (AOP).

AOP foca na modularização de uma aplicação em aspectos. Isto é, aspectos ficam observando o ciclo de vida e interações entre os objetos de um sistema via troca de mensagens, até que possam agir. A seguir vamos entender melhor o que é um aspecto.

Para realizar uma implementação através da plataforma .NET, utilizaremos o framework Spring.NET.

Fundamentos de AOP

Todo paradigma de programação novo traz novos fundamentos e definições. Portanto, AOP traz elementos importantes para o seu entendimento, são eles:

Aspect- unidade de programação criada para capturar uma funcionalidade que corta (cross-cut) a aplicação. Alguns exemplos de possíveis aspectos são: Controle de Log, Controle de Exceção, Persistência, Segurança, Transação. Os exemplos citados são aplicações simples em relação à arquitetura da aplicação, porém, deve-se modelar uma aplicação levando em consideração os comportamentos que interagem com várias classes de diferentes módulos da aplicação;

...
Quer ler esse conteúdo completo? Tenha acesso completo