A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA APLICADA DISCIPLINA DE SISTEMA ORIENTADOS A OBJETOS PROGRAMAÇÃO ORIENTADA.

Apresentações semelhantes


Apresentação em tema: "PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA APLICADA DISCIPLINA DE SISTEMA ORIENTADOS A OBJETOS PROGRAMAÇÃO ORIENTADA."— Transcrição da apresentação:

1 PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA APLICADA DISCIPLINA DE SISTEMA ORIENTADOS A OBJETOS PROGRAMAÇÃO ORIENTADA A ASPECTOS COM MÉTODOS ADAPTATIVOS Rodrigo Janasievicz Gomes Pinheiro pinheiro@ppgia.pucpr.br Walter Tonon Junior walter@bsi.com.br

2 Programação Orientada a Aspectos com Método Adaptativo OOP sempre envolvem classes colaboradoras; Sem a orientação a aspectos é implementado como: –Inserção de uma classe em outra. –Divisão das operações em métodos das classes envolvidas.

3 Método Adaptativo Desenvolvido pelo projeto DEMETER; Conhecido como padrões de propagação; Caracteristica –encapsula o comportamento de uma operação em um único lugar. Vantagens –menor dispersão dos dados; –abstrações mais simples sobre as estruturas das classes;

4 Composição do Método Adaptativo É composto por dois padrões (patterns) –Estratégia de fluxo (Traversal Strategy); –Visitante adaptativo (Adapter Visitor)

5 Estratégia de Fluxo É um padrão comportamental de objetos; A intenção é definir uma família de algoritmos, encapsular cada um deles e torna-los intercambiaveis; Estratégia: permite que o algoritmo varie independente do clientes que o utilizam; Define AONDE IR ou O QUE QUER.

6 Visitante Adaptativo É um padrão comportamental de objetos; Representa a operação a ser executada nos elementos de uma estrutura de objetos; Visitante: permite definir uma nova operação sem mudar as classes dos elementos sobre os quais opera; Define O QUE FAZER.

7 Conexões Para Aspectos Definições de aspectos –Crosscutings: são eventos chaves na execução de programas Java, ou mensagens para referenciar a combinação do método de uma classe, resultado e tipo.

8 Conexões Para AspectoJ Definições de AspectoJ –join pints: são pontos de execução do programa; –pointcuts: são meios para referenciar pontos agregados e certos valores a estes pontos; –advice: é um método que pode ser anexado aos poitcuts (funciona como um construtor da classe);

9 Exemplo inport edu.neu.ccs.demeter.dj.ClassGraph; inport edu.neu.ccs.demeter.dj.Visitor; class Company { static ClassGraph cg = new ClassGraph(); // estrutura de classe Double sumSalaries() { String s = from Company to Salary; // estratégia de fluxo Visitor v = new Visitor() // visitante adaptativo { private double sum; public void start () { sum = 0.0; }; public void before(Salary host) { sum += host.getValue(); }; public Object getReturnValue() { return new Double(sum); }; } return (Double) cg.traverse(this, s, v); } // Demais definições da Companhia }

10 Diagrama de Operação do Exemplo

11 Conclusão Os conceitos compartimentais podem ser executados de uma maneira modularizada Java puro. A classe é elegantemente encapsulada. A biblioteca DJ permite seguir as leis de DEMETER em um caminho otimizado e experimentar idéias orientadas a aspectos. Uma simples implementação incorre em visíveis degradações de performance.

12 Bibliografia Communications of the ACM, outubro de 2001, volume 44, número 10, pag. 39-41. A biblioteca DJ está disponível como fonte ou binário em: www.ccs.neu.edu/research/demeter/DJ


Carregar ppt "PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA APLICADA DISCIPLINA DE SISTEMA ORIENTADOS A OBJETOS PROGRAMAÇÃO ORIENTADA."

Apresentações semelhantes


Anúncios Google