segunda-feira, 12 de março de 2012

Paradigmas e Aspecto

  O que são os tais paradigmas ?

Já foi comentado neste blog sobre o paradigma da programação orientada a aspecto. Mas o que é um paradigma ?
De acordo com o site dicionário Priberam:
"paradigma (grego parádeigma, -atos) s. m.
1. Algo que serve de exemplo geral ou de modelo. = PADRÃO"

O paradigma é uma linha firme de pensamento, uma teoria para resolução de adversidades,um conjunto de conhecimentos que podem ser organizados a uma unica finalidade, um modelo de resolução de problemas
Esclarecido o que significa essa palavra de cunho "culto", vamos a programação

 Paradigmas de programação
Os quatro paradigmas de programação principais são:
·Procedural: Sequencia de comandos que é lida linha por linha, linearmente até seu fim, como na linguagem C
·Declarativo:Descreve-se o problema primeiramente, o algoritmo posterior ira se encaixar como solução. Como exemplo, Prolog
·Funcional:Divide o problema em varios blocos. Estes processam os dados e ao final se combinam, formando o resultado. Como exemplo, Haskell
·Orientado a objetos: Conjunto de classes, os objetos, possuem atributos (variaveis) e metodos(funções). Comunicam-se entre si para chegar ao resultado. Como exemplo, Java
E o discutido nesse blog:
Orientado a aspecto:Usado em conjunto com outro paradigma de programação. É descrito sendo um encapsulador de responsabilidades que aumenta a organização e facilidade na criação e manuntenção do codigo.
Essas capsulas são inseridas no codigo base em pontos bem definidos (join points), Os Join Points podem ser chamados sempre que uma função com uma nomeclatura especifica for processado. Alem disso, os aspectos (agem como classes) podem ser inseridos, alterados ou removidos em tempo de compilação, o que é uma possibilidade interessante.
É considerada uma meta-programação, pois ela deve ser compilada uma primeira vez para gerar um codigo modificado, e com a segunda compilação é que o resultado final surge.
Para ser utilizada são necessarias basicamente: programa dos componentes, programa de aspectos, e um combinador de ambos, chamado "aspect weaver". Este é o primeiro compilador já citado

                                                                                                                                                                                                    



Basicamente, a orientação aspecto funciona como um simbionte. Não vive sem o seu hospedeiro, mas quando estão juntos, ambos obtem diversas vantagens. Para finalizar, dois exemplos de codigo.

Exemplo AspectJ:
public aspect HelloFromAspectJ {
            pointcut mainMethod() : execution(public static void main(String[]));
            after() returning : mainMethod() {
                  System.out.println("Hello World");
            }
      }

Exemplo Delphi prism:
method MyObject.DivideBy(aValue: Integer);
require
 aValue <> 0;
begin
 MyValue := MyValue/aValue;
end;

Postado por: Douglas Viana, ADS - 6º periodo


Referencias:

Nenhum comentário:

Postar um comentário