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.

Slides:



Advertisements
Apresentações semelhantes
|Introdução a Java para programadores Telis. Jogo de Dados simples O jogo é jogado por dois jogadores. Cada jogador faz sua jogada (lança um dado), e.
Advertisements

C/C++ para Sistemas Operacionais Professor: André Luis Meneses Silva /msn: Página:
Paradigmas da Programação – Semestre 1 – Aula 6
Paulo Marques Hernâni Pedroso
Capítulo 1 Introdução.
UML – Visões Parte 1 Modelando um sistema.
Interação entre objetos
Projeto de Sistemas de Software
Carlos R. M. Junior Eduardo Motta
Orientação a Objetos: Encapsulamento e Classificação
Component-Based Frameworks for E-Commerce Agnaldo Kiyoshi Noda.
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Programação Básica em Java
Professora: Aline Vasconcelos
Animador para a Linguagem Funcional 2 Carlos Eduardo Lima Lucas Roberto Bechert Schmitz Leonardo Lucena.
Wagner Santos C. de Jesus
Orientação a Objetos Classes
Paradigmas da Programação – Semestre 1 – Aula 5
Observer Mantendo seus objetos atualizados Daniel Roloff Carlos Machado Enzo Zuccolotto Luiz Felipe Trevisan Rafael Holtz.
Como o AspectJ tece o código
Classes & Objectos em JAVA5
Classes e objetos P. O. O. Prof. Grace.
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Padrão de Projeto Chain of Responsability e Template Method
Tipos Agregados Homogêneos e Listas
Aula prática - análise contextual
Padrão de Projeto Visitor
Linguagens Orientadas a Objeto
P ROGRAMAÇÃO ORIENTADA A ASPECTOS Equipe: Leandro Oliveira Anusio Menezes.
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Desenvolvimento de Sistemas Orientados a Aspectos
Desenvolvimento de Sistemas Orientados a Aspectos
Integração com Banco de Dados
Atributos, Encapsulamento e Interface em Java
Programação I Aula 2 (Métodos)
Adriano S. Castro André Abdalla
Orientação a Objetos e Java Graduação em Ciência da Computação
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Membro Static.
Wagner Santos C. de Jesus
Orientação a Objetos Parte II
Programação Orientada a Objetos - Java
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Universidade Católica de Angola Prática de laboratório Fundamentos de Programação II Frei Joaquim José Hangalo.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Java Kickstart, day 2 Semelhanças com linguagem C.
Prof.: Bruno Rafael de Oliveira Rodrigues. Construtor é bloco declarado que é chamado no momento em que o Objeto é criado (instanciado). Todas as classes.
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota (com material da Qualiti Software Process)
Paulo Borba e Augusto Sampaio Centro de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos.
Decorator POO - Avançado.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Herança e Arquitetura em camadas
Construtores e Destrutores
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )
Factory.
Modificadores Programação II.
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
Discussing Aspects of AOP Alunos: Ezequiel Jonacir Mazza João Andrei Cetenareski Curso: Mestrado em Informática Aplicada Disciplina: Orientação a Objetos.
Engenharia de Software e Sistemas
Equipe Equipe: Ana Carolina M. Pilatti Igor de Souza Paiva Igor de Souza Paiva Rafael Stubs Parpinelli Rafael Stubs Parpinelli Vera Lúcia Marchiori Vera.
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos Parte 2.
Módulo II Capítulo 1: Orientação a Objetos
Padrões de Projetos Orientados a Objetos I Wolley W. Silva.
Padrões de Projeto. O que são?  Soluções provenientes de diversos projetos e utilizados por diversos programadores;  Documentados em catálogos como.
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
IDENTIFICAÇÃO DOS RELACIONAMENTOS Nesta atividade devem ser definidos os relacionamentos entre as classes Podem ser representados pela: – associação, –
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Transcrição da apresentação:

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 Walter Tonon Junior

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.

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;

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

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.

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.

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.

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);

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 }

Diagrama de Operação do Exemplo

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.

Bibliografia Communications of the ACM, outubro de 2001, volume 44, número 10, pag A biblioteca DJ está disponível como fonte ou binário em: