Pasteur Ottoni de Miranda Junior. Alguns Padrões de Projeto Gamma

Tamanho: px
Começar a partir da página:

Download "Pasteur Ottoni de Miranda Junior. Alguns Padrões de Projeto Gamma"

Transcrição

1 Pasteur Ottoni de Miranda Junior Alguns Padrões de Projeto Gamma

2 Padrões Gamma de Projeto(ou Gang-of-Four, gof) Os padrões gof foram publicados por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides em 1998 [GAM98] e têm se constituído em uma referência universal quando se deseja aplicar a projetos de software estruturas padronizadas que privilegiem principalmente a reutilização. 1-Definição: Padrões de Projeto Segundo [GAM98] um padrão de projeto é uma solução padronizada para um problema que se repete muitas vezes dentro de um determinado contexto. Um padrão de projeto abstrai e identifica aspectos comuns de estruturas de projeto, tornando-as reutilizáveis. Portanto, cada padrão trata de um problema de projeto em particular, que em última análise determina quando utilizar tal padrão. Cada problema tem uma solução proposta que é um gabarito a ser aplicado às mais diversas situações. 2-Padrões de criação Estes padrões abstraem o processo de instanciação. Ajudam a tornar o sistema independente de como seus objetos são criados, compostos e representados. 2.1-O padrão abstract factory (fábrica abstrata) Objetivo: Prover uma interface para criação de famílias de objetos relacionados ou dependentes sem que se especifiquem suas classes concretas. Problema típico : Seja uma classe cliente que utiliza um conjunto de classes através de seus métodos. Suponha que cada uma destas classes deva trabalhar em ambientes distintos,devendo ter, portanto, versões diferentes para cada um destes ambientes. A questão é: como fazer com que o cliente possa utilizar alternativamente estas versões, sem que a forma como as classes são acessadas sofra alterações em função destas versões? Solução: Figura 1

3 Exemplos de aplicação: -Criar interfaces comuns para bancos de dados diferentes. Criam-se fábricas abstratas específicas para cada banco de dados. -Criar interfaces comuns para bibliotecas de interface diferentes, que usam os mesmos objetos. FabricaAbstrata CriarProdutoA() CriarProdutoB() ProdutoAbstratoA Cliente FabricaConcret a1 CriarProdutoA() CriarProdutoB() FabricaConcret a2 CriarProdutoA() CriarProdutoB() ProdutoA2 ProdutoA1 ProdutoAbstratoB ProdutoB2 ProdutoB1 Figura 1-Padrão abstract factory (Extraído de [GAM1998]) 2.2-O padrão factory method Objetivo :Permitir a definição de uma interface (o factory method) em uma classe mãe abstrata que, em suas subclasses, especializa-se para criar vários tipos de objetos. Problema típico: Suponha que uma determinada classe utiliza diversos tipos de objetos. Mas no ponto em que utiliza estes objetos, ela não pode determinar a classe de tais objetos. Como fazer com que esta classe possa utilizar estes objetos independentemente da classe à qual pertençam?

4 Solução: Criar uma classe abstrata que contenha um factory method, que é a interface pela qual classes derivadas criam os objetos específicos. A classe base implementa um método que acessa a criação de tais objetos através da interface do factory method. Na Figura 2 abaixo temos: Produto Criadora FactoryMethod() Operacao() produto=fact orymethod ProdutoConcreto CriadoraConcret a FactoryMethod() return new ProdutoConcreto Figura 2-Padrão factory method (Extraído de [GAM1998]) Exemplos de aplicação: -Uma aplicação possui um método que deve abrir e exibir diversos tipos de documento. Este método não sabe qual tipo de documento vai ser exibido e deve abri-los corretamente. -Uma ferramenta CASE deve mover e redimensionar objetos de tipos diferentes. Estas operações não sabem que tipo de objeto vai ser manipulado. 2.3-O padrão Singleton Objetivo: Garantir que uma classe possua uma e somente uma instância. Problema típico:não faz sentido no contexto de uma aplicação a existência de mais de uma instância de uma determinada classe. O problema é: como fazer com que o desenvolvedor não tenha acesso a métodos construtores que criem mais de uma instância da classe, mantendo-se fácil acesso à instância? Solução: A própria classe mantém controle sobre sua instância única, tornando público um método para acesso a esta instância, que impede a criação de outra instância. Na Figura 3 temos o método Instancia() que é estático e na verdade é

5 um factory method que retorna InstanciaUnica e garante que não será criada mais que uma instância de Singleton. Singleton static InstanciaUnica Dados static Instancia() Operacao() ObterDados() Instancia retorna InstanciaUnica Figura 3-Padrão Singleton (Extraído de [GAM1998]) Exemplos típicos: -Em uma aplicação, deve haver um único spool de impressão para determinada impressora. -Classes de controle e de gerência (por exemplo, gerenciadoras de janelas e de arquivos) devem ter uma única instância em determinada sessão. 2.4-O padrão Prototype (Protótipo) Objetivo: Prover uma abordagem diferente para criação de objetos, através da clonagem de uma instância denominada protótipo. Problema típico: Suponha uma classe A que manipula um certo número de tipos de objetos pertencentes a classes especializadas de uma classe base B. A classe A não sabe como criar instâncias de subclasses de B. Uma solução seria criar uma subclasse de A para cada subclasse de B, cada uma delas especializada para lidar com uma subclasse de B. Porém isto poderia gerar um grande número de subclasses de A, algo pouco elegante, principalmente se as subclasses de B diferirem entre si por detalhes. Como fazer, então, com que a classe A consiga manipular as subclasses de B? Solução: Fazer com que a classe A crie cópias ou clones de instâncias já definidas das subclasses de B. Estas instâncias são os protótipos.

6 Cliente Operacao() Prototipo clone() p=prototype.clone() PrototipoCo ncreto1 clone() PrototipoCo ncreto2 clone() Retornam uma cópia de si mesmos. Figura 4- Padrão prototype (Extraído de [GAM1998]) Exemplos de utilização: -Apesar de semelhante ao abstractfactory, este padrão permite a instância de novas classes em tempo de execução. Por exemplo, uma aplicação que permita ao usuário exibir documentos, pode dar ao mesmo o recurso de inserir novos tipos de documentos e exibi-los sem necessidade de recompilação de código. -Uma ferramenta CASE que trabalhe com frameworks de projeto define protótipos para os mesmos, que serão clonados quando o cliente deles necessitar. 3-Padrões estruturais Os padrões estruturais estão relacionados a como classes e objetos são compostos de forma a gerar estruturas maiores e mais complexas.

7 3.1- O padrão adaptador (adapter) Objetivo: Converter a interface de uma classe em outra, permitindo que classes com interfaces incompatíveis possam trabalhar em conjunto. Problema típico: Suponha que uma aplicação utilize um recurso de uma classe específica A. Este recurso é acessado via métodos da classe A. Entretanto, descobriu-se no mercado uma nova alternativa para realizar as atribuições da classe A, que possui métodos de acesso completamente diferentes dos de A. A questão é: como introduzir esta nova classe na aplicação, sem alterar a interface de acesso na aplicação, ou ainda, como permitir que novas classes possam ser acessadas pela aplicação sem modificar esta interface de acesso? Solução: Criar uma classe abstrata comum para a classe A e a nova alternativa, que terá sua interface acessada pelo cliente. Esta classe será particularizada para a classe A e para a classe alternativa e é denominada adaptadora. Cliente Alvo Requisicao() Adaptada RequisicaoEspecifica() Adaptadora Requisicao() adptada.requisicaoespecifica Figura 5-Padrão Adapter (Extraído de [GAM1998]) Exemplos de utização: -Uma aplicação que utiliza diversos dispositivos pode acessar uma interface comum, que será particularizada para cada novo dispositivo inserido, via classe adptadora. Esta classe adaptadora tornar-se-á um plug-in para o novo dispositivo na aplicação.

8 -Uma aplicação utiliza uma interface comum para imprimir, que é adaptada por meio de subclasses adaptadoras a qualquer tipo de impressora O padrão flyweight ( peso-mosca ) Objetivo: Prover uma estrutura para a representação de classes que possuam um grande número de instâncias com características que se repetem com muita frequência. Problema típico: Uma classe de objetos possui um grande número de instâncias com características comuns. Como conseguir economia de utilização de memória, fazendo com que características comuns não se repitam com freqüência? Solução proposta: Criar um tipo de objeto, o flyweight, que tem a característica de poder ser compartilhado, e utilizado em múltiplos contextos simultaneamente. O flyweight encapsula o chamado estado intrínseco dos objetos que represeta, ou seja, o estado que é comum a todos eles. Dependendo do contexto em que é utilizado, o flyweight assume estados que variam com este contexto, os chamados estados extrínsecos. Estes estados não são compartilhados e os clientes que utilizam os flyweights detêem a responsabilidade por passá-los a eles. Esta estrutura proporciona considerável economia de memória. Retorna um flyweight, se existir ou cria um flyweight e retorna FabricaFlyweights RetornarFlyweight(chave) Flyweight Cliente FlyweightConcreto EstadoIntrinseco Operacao(EstadoExtrinseco) Figura 6-Padrão flyweight (Extraído de [GAM1998])

9 Exemplos de utilização: -Editores de texto podem manter flyweights contendo estados intrínsecos de caracteres (o código ascii, por exemplo). -Editores de figuras, podem manter flyweights contendo pontos comuns (por exemplo, o formato) O padrão proxy Objetivo: prover uma forma rápida e leve de acesso a um objeto, que vai substituí-lo enquanto não for necessário acessar sua instância diretamente. Problema típico: Suponha que um determinado objeto seja grande e por conseguinte ocupe muito espaço de memória. A questão é: como fazer para manter uma referência a este objeto, que não ocupe tanta memória, contendo apenas sua estrutura básica, de tal forma que o objeto somente seja criado e realmente acessado quando realmente for necessário? Solução: a idéia é criar uma classe, o Proxy, que contém exatamente a mesma estrutura do objeto real, porém mais leve, sem a informação que realmente carrega a memória. Este Proxy somente acessará o objeto real quando ele for demandado na aplicação. Na verdade, o Proxy e o objeto real derivam de uma mesma classe-mãe, e é isto que garante que terão exatamente a mesma estrutura. Assunto Requisicao() AssuntoReal Requisicao() Proxy Requisicao() acessa operacao Requisicao de AssuntoReal Figura 7-Padrão Proxy (Extraído de [GAM1998])

10 Exemplos de utilização: -Um editor de imagens pode manipular somente um Proxy da imagem enquanto ela não for carregada. Quando isto acontecer, via abertura de um arquivo, por exemplo, o Proxy passa a manipular a imagem diretamente, mas enquanto isto não ocorre, manipula apenas informações básicas, com tamanho, nome de arquivo, etc. -No exemplo do sistema Revista Digital, pode ser criado um Proxy do documento, que vai manipular apenas informações básicas do mesmo (tamanho, nome, data de criação, etc) enquanto não houver necessidade de visualizá-lo. Quando isto for necessário, cria-se a instância real, abrindo seu arquivo e carregando-o na memória O padrão façade (Fachada) Objetivo: Produzir uma interface mais simples para que um cliente possa acessar diversos métodos de um grupo de classes. Problema Típico: Suponha que uma determinada classe necessite da colaboração de diversas outras através do acesso a seus métodos. Chamadas a diversos destes métodos são muito freqüentes e repetitivas, fazendo com que determinadas operações se tornem longas, demandando muita escrita de código. A questão é: como racionalizar e diminuir o acesso direto da classe cliente aos métodos destas classes? Solução: Criar uma classe, a classe de Fachada, que vai possuir operações que chamam os métodos que são utilizados freqüente e repetidamente. O cliente passa a acessar estas operações, ao invés de acessar várias classes e várias chamadas de classes.

11 Operações de Fachada instanciam objetos das classes 1,2..n, invocando seus métodos Fachada Operacao1() Operacao2() Cliente Classe1 Oper11() Oper12() Oper1n() Classe2 Oper21() Oper22() Oper2n() Classen Opern1() Opern2() Opernn() Figura 8-O padrão Façade (Extraído de [GAM1998]) Exemplo de Utilização: As classes de controle constituem o exemplo mais típico de classes de fachada O padrão composite Objetivo: Prover uma estrutura de árvore para representação eficiente de relações todo-parte. Problema típico: Suponha uma estrutura de objetos relacionados a outros na forma de relações todo parte. A questão é: como fazer com que todos os objetos, tanto os todos como as partes, possam ser manipulados de maneira idêntica por classes clientes, através de uma interface única? Solução: O padrão Composite propõe uma classe abstrata comum para objetos todo e parte, contendo operações comuns a eles. Os objetos todo contêm listas de objetos partes. Classes clientes acessam a mesma interface (a definida pela classe abstrata) tanto para objetos todo como para objetos parte.

12 Cliente Componente Operacao() AdicionarComponente() RemoverComponente() RetornarFilho() Folha Operacao() Composite Operacao() AdicionarComponente() RemoverComponente() RetornarFilho() Para cada filho chamar Operacao() Figura 9-O padrão Composite. (Extraído de [GAM1998]) Exemplos de utilização: -Em uma interface gráfica é comum a composição de objetos mais simples em estruturas complexas. A aplicação cliente manipula tais objetos através de uma interface única. -Extruturas de hiperdocumentos (como páginas HTML) envolvem documentosfolhas (que não têm link a outros documentos) e documentos compostos (que têm link a outros documentos). 4-Padrões Comportamentais Estão relacionados ao comportamento dos objetos, ou seja, com o estabelecimento de padrões de comunicação entre eles. 4.1-Padrão cadeia de responsabilidade (chain of responsibility) Objetivo: Evitar o acoplamento entre o emissor e o receptor de uma requisição, de forma que mais de um objeto possa manusear esta requisição. Problema típico: Suponha uma situação em que um objeto envia uma mensagem e esta mensagem não tem um destinatário fixo, ou seja este deve

13 ser definido em determinado contexto. A requisição pode passar por diversos objetos. A questão é: como permitir que esta mensagem seja capturada pelo objeto correto? Solução: Cada classe de objetos pelos quais a requisição vai passar é derivada de uma classe manipuladora, que possui um método que vai verificar se o objeto em questão é o destinatário. Se não for, a requisição é passada a outro objeto na cadeia, até que se encontre o destinatário. Sucessor Cliente Manipulador ManipularRequisicao() ManipuladorConcreto1 ManipularRequisicao() ManipuladorConcreto2 ManipularRequisicao() Figura 10-Padrão chain of responsibility (Extraído de [GAM1998]) Exemplos de utilização: -Sistemas de ajuda sensível ao contexto utilizam este padrão para determinar qual objeto está sendo referenciado. -Sistemas de correio eletrônico podem utilizar este padrão para determinar uma cadeia de comunicação, transmitindo uma mensagem endereço por endereço até um manipulador final da mesma.

14 REFERÊNCIAS [GAM98} GAMMA, E, et al. Design Patterns-Elements of Reusable Object- Oriented Software 1a Edição, Addison Wesley, 1998.

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Padrões GoF Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução Padrões de Criação Padrões de Estrutura Padrões de comportamento Leonardo Murta Padrões GoF 2 Introdução Os padrões GoF (Gamma

Leia mais

Programação Orientada a Objetos. Padrões de Criação

Programação Orientada a Objetos. Padrões de Criação Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc. Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified

Leia mais

Alguns Padrões de Projeto Gamma e Suas Implementações. Prof. Pasteur Ottoni de Miranda Junior Disponível em www.pasteurjr.blogspot.

Alguns Padrões de Projeto Gamma e Suas Implementações. Prof. Pasteur Ottoni de Miranda Junior Disponível em www.pasteurjr.blogspot. Alguns Padrões de Projeto Gamma e Suas Implementações Prof. Pasteur Ottoni de Miranda Junior Disponível em www.pasteurjr.blogspot.com Padrões Gamma de Projeto(ou Gang-of-Four, gof) Os padrões gof foram

Leia mais

Padrões de Projeto de Software Orientado a Objetos

Padrões de Projeto de Software Orientado a Objetos Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho

Leia mais

Introdução à Padrões de Projeto. Glauber Magalhães Pires

Introdução à Padrões de Projeto. Glauber Magalhães Pires Introdução à Padrões de Projeto Glauber Magalhães Pires Agenda O que são padrões de projeto? Para que servem e por que utilizá-los? Elementos constituintes Como escolher o padrão a ser usado? Como são

Leia mais

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS. PADRÕES DE SOFTWARE 1 Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade Grupo de Padrões de Software da UECE (GPS.UECE) Julho-2009 CONTEÚDO Introdução aos Padrões de Software O quê são padrões?

Leia mais

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos Programação Avançada Padrões de Projeto de Software 1 Fonte: Oswaldo B. Peres e K19 Treinamentos Introdução Projetar software OO reusável e de boa qualidade é uma tarefa difícil; Para realizar essa tarefa

Leia mais

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

Leia mais

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org)

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org) Padrões de J930 Projeto Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

1Introdução Helder da Rocha (helder@acm.org)

1Introdução Helder da Rocha (helder@acm.org) J930 Padrões Projeto de 1Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

Curso - Padrões de Projeto Módulo 1: Introdução

Curso - Padrões de Projeto Módulo 1: Introdução Curso - Padrões de Projeto Módulo 1: Introdução Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

Padrões clássicos ou padrões GoF O livro "Design Patterns (1994) de Erich Gamma, John Vlissides, Ralph Jonhson e Richard Helm, descreve 23 padrões de

Padrões clássicos ou padrões GoF O livro Design Patterns (1994) de Erich Gamma, John Vlissides, Ralph Jonhson e Richard Helm, descreve 23 padrões de Padrões de Projeto Disciplina: Engenharia de Software - 2009.1 Professora: Rossana Maria de Castro Andrade Assistente da disciplina: Ricardo Fernandes de Almeida 1 O que é um Padrão? Um padrão descreve

Leia mais

Testes com Design Patterns

Testes com Design Patterns Helder da Rocha (helder.darocha@gmail.com) 31 de março de 2005 71. Que padrão de design pode ser usado para permitir que uma implementação específica e uma hierarquia de abstrações possa variar independentemente?

Leia mais

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto

Leia mais

PADRÕES DE PROJETO FAÇADE, FLYWEIGHT E VISITOR

PADRÕES DE PROJETO FAÇADE, FLYWEIGHT E VISITOR FACULDADE DE CIÊNCIAS APLICADAS SAGRADO CORAÇÃO DIRETORIA DE ENSINO SUPERIOR COORDENAÇÃO DO CURSO DE SISTEMAS DE INFORMAÇÃO GUSTAVO ANDRÉ DE FREITAS RILIANE ALPOIM PARIS RODRIGO SILVA DE SOUZA PADRÕES

Leia mais

Curso - Padrões de Projeto Módulo 2: Padrões de Criação

Curso - Padrões de Projeto Módulo 2: Padrões de Criação Curso - Padrões de Projeto Módulo 2: Padrões de Criação Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

Especialização em web com interfaces ricas. Padrões de Projeto - Estruturais

Especialização em web com interfaces ricas. Padrões de Projeto - Estruturais Especialização em web com interfaces ricas Padrões de Projeto - Estruturais Prof. Fabrízzio Alphonsus A. M. N. Soares fabrizzio@inf.ufg.br professor.fabrizzio@gmail.com Instituto de Informática Universidade

Leia mais

Design Patterns STRATEGY EMERSON BARROS DE MENESES

Design Patterns STRATEGY EMERSON BARROS DE MENESES Design Patterns STRATEGY EMERSON BARROS DE MENESES 1 Breve Histórico Sobre Design Patterns A origem dos Design Patterns (Padrões de Desenho ou ainda Padrões de Projeto) vem do trabalho de um arquiteto

Leia mais

Padrões de Software (Software Patterns)

Padrões de Software (Software Patterns) Padrões de Software (Software Patterns) Cleidson de Souza - cdesouza@ufpa.br Departamento de Informática Universidade Federal do Pará Agenda! Definição! Histórico! Motivação! Exemplo Estratégia MVC! Forma

Leia mais

Prof.ª Esp. Talita Pagani

Prof.ª Esp. Talita Pagani Especialização em Engenharia de Software Prof.ª Esp. Talita Pagani talita.cpb@gmail.com @talitapagani 21/02/2014 Design Patterns Aula 1 Prof.ª Esp. Talita Pagani 1 Informações gerais 1. Definição de Design

Leia mais

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET Átila Correia Cunha 1, 2, Glaucon Henrique Mauricio Maia 1, 2, Waner Ferreira Tavares 1, 2, Jorge Bergson¹, Rui Gomes Patrício 3

Leia mais

Padrões de Desenho (Design Patterns)

Padrões de Desenho (Design Patterns) Padrões de Desenho (Design Patterns) O que são padrões de desenho Porque são úteis Conhecer alguns padrões 1 Padrões (Patterns) Design Patterns Explained: A New Perspective on Object-Oriented Design, Alan

Leia mais

Uma Introdução aos Padrões de Projeto com Java. Roberto Willrich INE-CTC-UFSC

Uma Introdução aos Padrões de Projeto com Java. Roberto Willrich INE-CTC-UFSC Uma Introdução aos Padrões de Projeto com Java Roberto Willrich INE-CTC-UFSC 1 Introdução aos Padrões de Projeto Programação Introdução Motivação, Definição, Características, Histórico Descrição de um

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Apresentação da Disciplina Edirlei Soares de Lima Objetivos da Disciplina Apresentar e discutir técnicas avançadas de Análise e Projeto de

Leia mais

Padrões de Projeto WEB e o MVC

Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 8 Modelagem de classes de projeto A perfeição (no projeto) é alcançada, não quando não há

Leia mais

4 - Padrões de Construção

4 - Padrões de Construção J930 Padrões Projeto de 4Padrões de Construção Helder da Rocha (helder@acm.org) argonavis.com.br Introdução A maneira padrão de construir objetos em Java é através de construtores Toda classe tem um construtor:

Leia mais

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação Enzo Seraphim 1 Padrões de Projeto

Leia mais

Programação Orientada a Objetos Padrões de Projeto (design patterns) Fernando Vanini IC - UNICAMP

Programação Orientada a Objetos Padrões de Projeto (design patterns) Fernando Vanini IC - UNICAMP Programação Orientada a Objetos Padrões de Projeto (design patterns) Fernando Vanini IC - UNICAMP Padrões de Projeto (design patterns) Apresentação do conceito de design pattern Classificação dos design

Leia mais

Padrões de Desenho. ---------Engenharia de Software---------

Padrões de Desenho. ---------Engenharia de Software--------- Padrões de Desenho Objectivos: Compreender o que são os padrões de desenho? Vantagens e desvantagens em usar os padrões de desenho? Qual o formato de um padrão de desenho? Conhecer as varias secções de

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 07 Padrões GoF (Command e Template Method) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype

Leia mais

Padrões de Software (Software Patterns)

Padrões de Software (Software Patterns) Padrões de Software (Software Patterns) Cleidson de Souza - cdesouza@ufpa.br Departamento de Informática Universidade Federal do Pará Agenda! Definição! Histórico! Considerações! Forma de um Padrão! Exemplo!

Leia mais

Padrões de Projeto Curso 6170 Aulas 12 a 14

Padrões de Projeto Curso 6170 Aulas 12 a 14 Padrões de Projeto Curso 6170 Aulas 12 a 14 1. Padrões de projeto Um padrão de projeto é:. uma solução padrão para um problema comum de programação. uma técnica capaz de tornar o código mais flexível ao

Leia mais

Factory Method. Edeyson Andrade Gomes www.edeyson.com.br

Factory Method. Edeyson Andrade Gomes www.edeyson.com.br Factory Method Edeyson Andrade Gomes www.edeyson.com.br Agenda Resumo Quando Usar Participantes Colaborações Conseqüências Exemplo Estrutura Genérica Exercício 2 Resumo Ao invés do cliente instanciar objetos

Leia mais

Programação com Objectos

Programação com Objectos Programação com Objectos PADRÕES DE DESENHO Classificaçã Objectivo Criação Estrutura Comportamento Introdução Alguns Padrões de Desenho Classe Factory Method Adapter Interpreter Template Method O que é

Leia mais

Padrões de Design. Jair C Leite

Padrões de Design. Jair C Leite Padrões de Design Jair C Leite Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Design Pattern Implementation in Java and AspectJ

Design Pattern Implementation in Java and AspectJ Design Pattern Implementation in Java and AspectJ Jan Hannemann Gregor Kiczales In Proceedings of 2002 ACM SIGPLAN conference on OOPSLA. NY, USA. Introdução 2 Introdução 3 Introdução 4 Introdução 5 Introdução

Leia mais

Flexibilidade e Reusabilidade em Sistemas Orientados a Objetos - Uma Proposta para Implementação no EB

Flexibilidade e Reusabilidade em Sistemas Orientados a Objetos - Uma Proposta para Implementação no EB Flexibilidade e Reusabilidade em Sistemas Orientados a Objetos - Uma Proposta para Implementação no EB GLAUBER VOLKMER SILVIO DANILO DE OLIVEIRA MARÇAL DE LIMA HOKAMA Resumo. Os padrões de projetos tratam

Leia mais

Profa. Thienne Johnson

Profa. Thienne Johnson Profa. Thienne Johnson E. Gamma and R. Helm and R. Johnson and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison- Wesley, 1995. Conhecido como GoF (Gang of Four) Versão

Leia mais

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE Nelson Ribeiro de Carvalho Júnior 1 RESUMO Atualmente o cenário mundial cuja dependência do software está cada vez mais evidente requer que

Leia mais

Flávio Pernes de Medeiros

Flávio Pernes de Medeiros Flávio Pernes de Medeiros METODOLOGIA DA PESQUISA II Rio de Janeiro Flávio Pernes de Medeiros Março de 2011 Agradecimentos A minha família em especial minha esposa Newli Maura e filhos Bruno e Nicole.

Leia mais

Desafios na construção de um Framework de acesso a dados em PHP

Desafios na construção de um Framework de acesso a dados em PHP 4 5 Desafios na construção de um Framework de acesso a dados em PHP Dimas Ferreira Vidal O presente artigo procura mostrar os principais desafios no processo de desenvolvimento do framework PHPO2_DB de

Leia mais

Padrões de Projeto em PHP

Padrões de Projeto em PHP Aprendendo Padrões de Projeto em PHP William Sanders Novatec Authorized Portuguese translation of the English edition of titled Learning PHP Design Patterns ISBN 9781449344917 2013 William B. Sanders.

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

Leia mais

UML & Padrões Aula 7. UML & Padrões - Profª Kelly C C Silva

UML & Padrões Aula 7. UML & Padrões - Profª Kelly C C Silva UML & Padrões Aula 7 UML & Padrões - Profª Kelly C C Silva Divisão das classes do Modelo de Análise Jacobson propõe a divisão das classes do Modelo de Análise de acordo com os seguintes estereótipos: entidades

Leia mais

ILUSTRANDO PADRÕES DE IMPLEMENTAÇÃO DE PROJETOS BASEADOS EM OBJETOS

ILUSTRANDO PADRÕES DE IMPLEMENTAÇÃO DE PROJETOS BASEADOS EM OBJETOS ILUSTRANDO PADRÕES DE IMPLEMENTAÇÃO DE PROJETOS BASEADOS EM OBJETOS ANDREIA TRAVAGLIA Uberlândia, Dezembro/2001. ILUSTRANDO PADRÕES DE IMPLEMENTAÇÃO DE PROJETOS BASEADOS EM OBJETOS ANDREIA TRAVAGLIA Monografia

Leia mais

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Pessoal, fiz uma coletânea das questões mais recentes de concursos públicos de TODO o Brasil de várias bancas diferentes sobre os assuntos Orientação

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Design Patterns na plataforma Java

Design Patterns na plataforma Java Design Patterns na plataforma Java Uma experiência no processo de migração para.net João Saraiva Instituto Superior Técnico / INESC-ID (Grupo de Sistemas de Informação) Sumário Apresentação de alguns padrões

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

Padrões de Projeto. Bibliografia. Nomenclatura

Padrões de Projeto. Bibliografia. Nomenclatura Padrões de Projeto Prof. Maria Augusta Vieira Nelson PUC Minas Prof. Torsten Paul Nelson 1 Bibliografia LARMAN, Graig. Utilizando UML e Padroes:Uma introdução a análise e ao projeto orientados a objetos.

Leia mais

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux

AFRE. a. ( ) Instalando um programa gerenciador de carregamento, como o LILO ou o GRUB. a. ( ) Data Werehouse ; Internet ; Linux 1. De que forma é possível alterar a ordem dos dispositivos nos quais o computador procura, ao ser ligado, pelo sistema operacional para ser carregado? a. ( ) Instalando um programa gerenciador de carregamento,

Leia mais

INF011 Padrões de Projeto. 02 Creational Patterns

INF011 Padrões de Projeto. 02 Creational Patterns INF011 Padrões de Projeto 02 Creational Patterns Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica

Leia mais

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side

Leia mais

SCE 186- Engenharia de Software

SCE 186- Engenharia de Software Reuso de Software SCE 186- Engenharia de Software Profa Rosana T. Vaccare Braga (parte do material elaborado com base no tutorial sobre reuso da Profa. Claudia Werner) 1 Sumário Introdução Benefícios X

Leia mais

Técnicas de Programação Avançada TCC-00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br

Técnicas de Programação Avançada TCC-00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br Técnicas de Programação Avançada TCC-00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br Conteúdo: Padrão MVC Documento baseado no material preparado pelo Prof. Luiz André (http://www.ic.uff.br/~lapaesleme/)

Leia mais

Padrões. Identificando padrões

Padrões. Identificando padrões Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.

Leia mais

Catálogo de Padrões para Jogos

Catálogo de Padrões para Jogos Catálogo de Padrões para Jogos Padrões de Softwares no Desenvolvimento de Jogos Eletrônicos Fortaleza, 26 de Maio de 2010 VERSÃO 2.0 2 Atribuição-Compartilhamento pela mesma Licença 2.5 Brasil Você pode:

Leia mais

MÓDULO Modelagem de classes de projeto

MÓDULO Modelagem de classes de projeto MÓDULO Modelagem de classes de projeto A perfeição (no projeto) é alcançada, não quando não há nada mais para adicionar, mas quando não há nada mais para retirar. -Eric Raymond, The Cathedral and the Bazaar

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

3. PARADIGMA ORIENTADO A OBJETOS

3. PARADIGMA ORIENTADO A OBJETOS Paradigmas de Linguagens I 1 3. PARADIGMA ORIENTADO A OBJETOS Este paradigma é o que mais reflete os problemas atuais. Linguagens orientada a objetos (OO) são projetadas para implementar diretamente a

Leia mais

Conformação Arquitetural. com DCLcheck. Defina as dependências aceitáveis e inaceitáveis de acordo com a arquitetura planejada de seu sistema

Conformação Arquitetural. com DCLcheck. Defina as dependências aceitáveis e inaceitáveis de acordo com a arquitetura planejada de seu sistema dclcheck_ Conformação Arquitetural com DCLcheck Defina as dependências aceitáveis e inaceitáveis de acordo com a arquitetura planejada de seu sistema Arquitetura de software é geralmente definida como

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas

Tecnólogo em Análise e Desenvolvimento de Sistemas Tecnólogo em Análise e Desenvolvimento de Sistemas O conteúdo deste documento tem como objetivos geral introduzir conceitos mínimos sobre sistemas operacionais e máquinas virtuais para posteriormente utilizar

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Programação com Objectos. Programação Centrada em Objectos. Home Page. Ano Lectivo 2008/2009 1º Semestre. Objectivos Programa Bibliografia Avaliação

Programação com Objectos. Programação Centrada em Objectos. Home Page. Ano Lectivo 2008/2009 1º Semestre. Objectivos Programa Bibliografia Avaliação Última actualização: 25 de Outubro de 2008 Ano Lectivo 2008/2009 1º Semestre ção com Objectos ção Centrada em Objectos Docente: Paulo Leocádio Web: www.uac.pt/~pleocadio E-mail: pleocadio@uac.pt : Competências:

Leia mais

Proposta para a Implementação do Cadastro de um Log de Auditoria Baseada em Padrões de Projeto

Proposta para a Implementação do Cadastro de um Log de Auditoria Baseada em Padrões de Projeto FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Trabalho de Diplomação Gabriel Augusto Gimenes 9881 André Marcos Silva (Orientador) Trabalho de Diplomação Proposta para a Implementação

Leia mais

Instruções de instalação e remoção para os drivers de impressora PostScript e PCL do Windows Versão 8

Instruções de instalação e remoção para os drivers de impressora PostScript e PCL do Windows Versão 8 Instruções de instalação e remoção para os drivers de impressora PostScript e PCL do Windows Versão 8 Este arquivo ReadMe contém as instruções para a instalação dos drivers de impressora PostScript e PCL

Leia mais

Conheça o Projeto. Apresentação. Finalidade. Objetivo

Conheça o Projeto. Apresentação. Finalidade. Objetivo Manual do Usuário Índice Conheça o Projeto...3 Apresentação...3 Finalidade...3 Objetivo...3 Histórico...4 Usando o Portal...5 Efetuando o cadastro na biblioteca digital...5 Logando na Biblioteca Digital...6

Leia mais

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br MC302A Modelagem de Sistemas com UML Prof. Fernando Vanini vanini@ic.unicamp.br Modelamento de Sistemas e Orientação a Objetos O paradigma de Orientação a Objetos oferece um conjunto de características

Leia mais

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação Universidade Federal Rural de Pernambuco Bacharelado em Sistemas de Informação Disciplina: Análise e Projeto de Sistemas de Informação Docente: Rodrigo Aluna: Thays Melo de Moraes Diagramas do Projeto

Leia mais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

Framework utilizando reflexão e aspectos para persistência de objetos em java

Framework utilizando reflexão e aspectos para persistência de objetos em java Framework utilizando reflexão e aspectos para persistência de objetos em java Antonio Carlos Rolloff (UNIPAR) acrolloff@gmail.com Arthur Cattaneo Zavadski (UNIPAR) arthur@datacoper.com.br Maria Aparecida

Leia mais

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento PHP Profissional APRENDA A DESENVOLVER SISTEMAS PROFISSIONAIS ORIENTADOS A OBJETOS COM PADRÕES DE PROJETO Alexandre Altair de Melo Mauricio G. F. Nascimento Novatec Sumário Agradecimentos...13 Sobre os

Leia mais

Padrões de Projeto. Singleton

Padrões de Projeto. Singleton Padrões de Projeto Padrões de Criação Singleton Singleton Assegura que uma classe tenha apenas uma instância e provê um ponto de acesso global a ela 2 Livro Texto: Design Pattern - Elements 1 Motivação

Leia mais

PADRÕES DE PROJETO EM OOERLANG UNIVERSIDADE DO ESTADO DO AMAZONAS - UEA. Manaus ESCOLA SUPERIOR DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO

PADRÕES DE PROJETO EM OOERLANG UNIVERSIDADE DO ESTADO DO AMAZONAS - UEA. Manaus ESCOLA SUPERIOR DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO UNIVERSIDADE DO ESTADO DO AMAZONAS - UEA ESCOLA SUPERIOR DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO WILLIAM BREMGARTNER BELLEZA PADRÕES DE PROJETO EM OOERLANG Manaus 2013 WILLIAM BREMGARTNER BELLEZA PADRÕES

Leia mais

DESIGN PATTERNS CURSO DE ESPECIALIZAÇÃO EM TECNOLOGIA JAVA. Prof. Cesar Augusto Tacla. http://www.dainf.ct.utfpr.edu.br/~tacla UTFPR/Campus Curitiba

DESIGN PATTERNS CURSO DE ESPECIALIZAÇÃO EM TECNOLOGIA JAVA. Prof. Cesar Augusto Tacla. http://www.dainf.ct.utfpr.edu.br/~tacla UTFPR/Campus Curitiba PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO DE ESPECIALIZAÇÃO EM TECNOLOGIA JAVA DESIGN PATTERNS PARTE 5: PADRÕES FAÇADE E STRATEGY Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla

Leia mais

Tópicos Avançados em Engenharia de Software

Tópicos Avançados em Engenharia de Software Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Programa de Pós-Graduação em Ciência da Computação Tópicos Avançados em Engenharia de Software Padrões e Frameworks (Aula 01-

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

SisLegis Sistema de Cadastro e Controle de Leis

SisLegis Sistema de Cadastro e Controle de Leis Sistema de Cadastro e Controle de Leis Desenvolvido por Fábrica de Software Coordenação de Tecnologia da Informação Pág 1/22 Módulo: 1 Responsável: Desenvolvimento Ti Data: 01/11/2012 Versão: 1.0 Empresa:

Leia mais

Programação Orientada por Objetos

Programação Orientada por Objetos PPROG Paradigmas da Programação Programação Orientada por Objetos Relações entre Dependência Agregação Composição Associação (Livro Big Java, Late Objects Capítulo 12) Nelson Freire (ISEP DEI-PPROG 2014/15)

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década

Leia mais

Histórico de revisões

Histórico de revisões Design Patterns Histórico de revisões Data Versão Descrição Autor 15/1/2014 1.0 Finalização da primeira versão HEngholmJr OBJETIVOS Fornecer uma visão geral sobre Design Patterns visando atingir os requisitos

Leia mais

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Curitiba PLANO DE ENSINO

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Curitiba PLANO DE ENSINO Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Curitiba PLANO DE ENSINO CURSO Engenharia Eletrônica MATRIZ FUNDAMENTAÇÃO LEGAL (Resolução do COEPP que aprovou a matriz curricular

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Campus - Cachoeiro Curso Técnico de Informática. Sistema de Arquivos. Prof. João Paulo de Brito Gonçalves

Campus - Cachoeiro Curso Técnico de Informática. Sistema de Arquivos. Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática Sistema de Arquivos Prof. João Paulo de Brito Gonçalves Introdução É com o sistema de arquivos que o usuário mais nota a presença do sistema operacional.

Leia mais

PADRÕES DE PROJETO. Cleviton Monteiro (cleviton@gmail.com)

PADRÕES DE PROJETO. Cleviton Monteiro (cleviton@gmail.com) PADRÕES DE PROJETO Cleviton Monteiro (cleviton@gmail.com) Roteiro Atributos de qualidade Boas práticas de projeto Code Smell Padrões de Projeto Atributos de qualidade Coesão Acoplamento Atributos de qualidade

Leia mais

PHP: Programando com Orientação a Objetos

PHP: Programando com Orientação a Objetos PHP: Programando com Orientação a Objetos Pablo Dall'Oglio Adianti Solutions www.adianti.com.br Roteiro Conceitos de Orientação a Objetos; Classes, objetos, propriedades, métodos; Métodos construtores

Leia mais

Frameworks orientados a objetos. Por Sergio Crespo

Frameworks orientados a objetos. Por Sergio Crespo Frameworks orientados a objetos Por Sergio Crespo Frameworks O que é um Framework??? Um framework é um conjunto de classes que constitui um design abstrato para soluções de uma família de problemas - Johnson

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

Padrões de Projeto em Desenvolvimento Web SCC 266. Prof. Renata Pontin M. Fortes renata@icmc.usp.br PAE: Willian Watanabe (watinha@gmail.

Padrões de Projeto em Desenvolvimento Web SCC 266. Prof. Renata Pontin M. Fortes renata@icmc.usp.br PAE: Willian Watanabe (watinha@gmail. Padrões de Projeto em Desenvolvimento Web SCC 266 Prof. Renata Pontin M. Fortes renata@icmc.usp.br PAE: Willian Watanabe (watinha@gmail.com) 2.semestre 2010 Instituto de Ciências Matemáticas e de Computação

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

Manual de Operações Básicas. Thiago Passamani

Manual de Operações Básicas. Thiago Passamani Manual de Operações Básicas Thiago Passamani 1 - Entrando e saindo do sistema O Zimbra Suíte de Colaboração é um software de correio eletrônico open source com suporte para e-mail, contatos, calendário

Leia mais

Temas para a Primeira Avalição

Temas para a Primeira Avalição Temas 1. Envio de E-Mail Anônimo Quando um usuário deseja enviar uma mensagem de correio eletrônico pela Internet, ele utiliza um programa cliente Simple Mail Transfer Protocol (SMTP), tal como o Thunderbird,

Leia mais

MANUAL DE UTILIZAÇÃO DO MOODLE 2.6

MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO NTIC MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO Versão 1.0 2014 NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO NTIC MANUAL DE UTILIZAÇÃO DO MOODLE

Leia mais

Técnicas de Programação Avançada TCC-00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo

Técnicas de Programação Avançada TCC-00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Técnicas de Programação Avançada TCC-00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo:Introdução a Frameworks para Aplicações Baseado em Building Application Frameworks Mohamed E. Fayad

Leia mais