Programação Orientada a Objetos. Padrões Comportamentais
|
|
|
- Sarah Porto Fartaria
- 8 Há anos
- Visualizações:
Transcrição
1 Programação Orientada a Objetos Padrões Comportamentais Cristiano Lehrer, M.Sc.
2 Classificação dos Padrões de Projeto Propósito o que o padrão faz: Padrões de criação: abstraem o processo de criação de objetos a partir da instanciação de classes. Padrões estruturais: tratam da forma como classes e objetos estão organizados para a formação de estruturas maiores. Padrões comportamentais: preocupam-se com algoritmos e a atribuição de responsabilidades entre objetos. Escopo em que o padrão de projeto é aplicado: Padrões de classes: em geral estáticos, definidos em tempo de compilação. Padrões de objetos: em geral dinâmicos, definidos em tempo de execução.
3 Classificação dos padrões do GoF Propósito 1. Criação 2. Estrutura 3. Comportamento Escopo Classe Factory Method Class Adapter Interpreter Template Method Objeto Abstract Factory Object Adapter Chain of Responsibility Builder Bridge Command Prototype Composite Iterator Singleton Decorator Mediator Facade Memento Flyweight Observer Proxy State Strategy Visitor
4 Interpreter Dada uma linguagem, definir uma representação para a sua gramática juntamente com um interpretador que usa representação para interpretar sentenças da linguagem.
5 Problema Se comandos estão representados como objetos, eles poderão fazer parte de algoritmos maiores: Vários padrões repetitivos podem surgir nesses algoritmos. Operações como iteração ou condicionais podem ser frequentes: Representá-las como objetos Command. Solução em OO: Elaborar uma gramática para calcular expressões compostas por objetos: Interpreter é uma extensão do padrão Command (ou um tipo de Command; ou uma micro-arquitetura construída com base em Commands) em que toda uma lógica de código pode ser implementada com objetos.
6 Exemplo [GoF]
7 Estrutura UML
8 AbstractExpression: Participantes (1/3) Declara uma operação abstrata Interpretar comum a todos os nós na árvore sintática abstrata. TerminalExpression: Implementa uma operação Interpretar associada aos símbolos terminais da gramática. É necessária uma instância para cada símbolo terminal em uma sentença. Context: Contém informação que é global para o interpretador.
9 NonTerminalExpression: Participantes (2/3) É necessária uma classe desse tipo para cada regra R::R 1 R 2...R n da gramática. Mantém variáveis de instância do tipo AbstractExpression para cada um dos símbolos R 1 a R n. Implementa uma operação Interpretar para símbolos não-terminais da gramática. Interpret chamará a si próprio recursivamente nas variáveis que representam R 1 a R n.
10 Participantes (3/3) Client: Constrói (ou recebe) uma árvore sintática abstrata que representa uma determinada sentença na linguagem definida pela gramática. A árvore sintática abstrata é montada a partir de instâncias das classes NonTerminalExpression e TerminalExpression. Invoca a operação Interpretar.
11 Template Method Definir o esqueleto de um algoritmo em uma operação, postergando (deferring) alguns passos para subclasses. Template Method (Gabarito de Método) permite que subclasses redefinem certos passos de um algoritmo sem mudar a estrutura do mesmo.
12 Problema
13 O que é um Template Method: Solução Um Template Method define um algoritmo em termos de operações abstratas que subclasses sobrepõem para oferecer comportamento concreto. Quando usar? Quando a estrutura fixa de um algoritmo puder ser definida pela superclasse deixando certas partes para serem preenchidos por implementações que podem variar.
14 Estrutura UML
15 Participantes AbstractClass: Define operações primitivas abstratas que as subclasses concretas definem para implementar passos de um algoritmo. Implementa um método template que define o esqueleto de um algoritmo. O método template invoca operações primitivas, bem como operações definidas em AbstractClass ou ainda outros objetos. ConcreteClass: Implementa as operações primitivas para executarem os passos específicos do algoritmo da subclasse.
16 Chain of Responsibility Evitar o acoplamento do remetente de uma solicitação ao seu receptor, ao dar a mais de um objeto a oportunidade de tratar a solicitação. Encadear os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate.
17 Problema (1/2) Permitir que vários objetos possam servir a uma requisição ou repassá-la. Permitir divisão de responsabilidades de forma transparente.
18 Problema (2/2)
19 Estrutura UML
20 Participantes Handler: Define uma interface para tratar solicitações. (opcional) implementa o elo (link) ao sucessor. ConcreteHandler: Trata de solicitações pelas quais é responsável. Pode acessar seu sucessor. Se o ConcreteHandler pode tratar a solicitação, ele assim o faz; caso contrário, ele repassa a solicitação para o seu sucessor. Client: Inicia a solicitação para um objeto ConcreteHandler da cadeia.
21 Estratégias Pode-se implementar um padrão de várias formas diferentes. Cada forma é chamada de estratégia. Chain of Responsibility pode ser implementada com estratégias que permitem maior ou menor acoplamento entre os participantes: Usando um mediador: Só o mediador sabe quem é o próximo participante da cadeia. Usando delegação: Cada participante conhece o seu sucessor.
22 Command Encapsular uma solicitação como um objeto, desta forma permitindo parametrizar clientes com diferentes solicitações, enfileirar ou fazer o registro (log) de solicitações e suportar operações que podem ser desfeitas.
23 Problema
24 Estrutura UML
25 Participantes (1/2) Command: Declara uma interface para a execução de uma operação. ConcreteCommand: Define uma vinculação entre um objeto Receiver e uma ação. Implementa Execute através da invocação da(s) correspondente(s) operação(ões) no Receiver. Client: Cria um objeto ConcreteCommand e estabelece o seu receptor (Receiver).
26 Participantes (2/2) Invoker: Solicita ao Command a execução da solicitação. Receiver: Sabe como executar as operações associadas a uma solicitação. Qualquer classe pode funcionar como um Receiver.
27 Iterator Fornecer um meio de acessar, sequencialmente, os elementos de um objeto agregado sem expor a sua representação subjacente.
28 Problema
29 Para que serve? Iterators servem para acessar o conteúdo de um agregado sem expor sua representação interna. Oferece uma interface uniforme para atravessar diferentes estruturas agregadas. Iterators são implementados nas coleções do Java: É obtido através do método iterator() de Collection, que devolve uma instância de java.util.iterator. Iterator() é um exemplo de Factory Method.
30 Estrutura UML
31 Participantes Iterator: Define uma interface para acessar e percorrer elementos. ConcreteIterator: Implementa a interface de Iterator. Mantém o controle da posição corrente no percurso do agregado. Aggregate: Define uma interface para a criação de um objeto Iterator. ConcreteAggregate: Implementa a interface de criação do Iterator para retornar uma instância do ConcreteIterator apropriado.
32 Mediator Definir um objeto que encapsula a forma como um conjunto de objetos interage. O Mediator promove o acoplamento fraco ao evitar que os objetos se refiram uns aos outros explicitamente e permite variar suas interações independentemente.
33 Problema Como permitir que um grupo de objetos se comunique entre si sem que haja acoplamento entre eles? Como remover o forte acoplamento presente em relacionamentos muitos para muitos? Como permitir que novos participantes sejam ligados ao grupo facilmente?
34 Solução Introduzir um mediador: Objetos podem se comunicar sem se conhecer.
35 Descrição da solução Um objeto Mediador deve encapsular toda a comunicação entre um grupo de objetos: Cada objeto participante conhece o mediador mas ignora a existência dos outros objetos. O mediador conhece cada um dos objetos participantes A interface do Mediador é usada pelos colaboradores para iniciar a comunicação e receber notificações: O mediador recebe requisições dos remetentes. O mediador repassa as requisições aos destinatários. Toda a política de comunicação é determinada pelo mediador (geralmente através de uma implementação concreta do mediador).
36 Estrutura UML
37 Participantes Mediator: Define uma interface para comunicação com objetos de classe Colleague. ConcreteMediator: Implementa comportamento cooperativo através da coordenação de objetos de classe Colleague. Colleague classes: Cada classe Colleague conhece seu objeto Mediator de outra forma. Cada colega se comunica com o seu mediador sempre que, de outra forma, teria se comunicado com outro colega.
38 Memento Sem violar o encapsulamento, capturar e externalizar um estado interno de um objeto, de maneira que o objeto possa ser restaurado para esse estado mais tarde.
39 Problema É preciso guardar informações sobre um objeto suficientes para desfazer uma operação, mas essas informações não devem ser públicas.
40 Solução Um memento é um pequeno repositório para guardar estado dos objetos: Pode-se usar outro objeto, um string, um arquivo. Memento guarda um snapshot no estado interno de outro objeto a Fonte: Um mecanismo de Undo irá requisitar um memento da fonte quando ele necessitar verificar o estado desse objeto. A fonte reinicializa o memento com informações que caracterizam seu estado atual. Só a fonte tem permissão para recuperar informações do memento (o memento é opaco aos outros objetos).
41 Use memento quando: Quando usar? Um snapshot do (parte do) estado de um objeto precisa ser armazenada para que ele possa ser restaurado ao seu estado original posteriormente. Uma interface direta para se obter esse estado iria expor detalhes de implementação e quebrar o encapsulamento do objeto.
42 Estrutura UML
43 Participantes Memento: Armazena o estado interno do objeto Originator. O memento pode armazenar pouco ou muito do estado interno do originador, conforme necessário e segundo critérios do seu originador. Originator: Cria um memento contendo um instantâneo do seu estado interno corrente. Usa o memento para restaurar o seu estado interno. Caretaker: É responsável pela custódia do memento. Nunca opera ou examina os conteúdos de um memento.
44 Observer Definir uma dependência um-para-muitos entre objetos, de maneira que quando um objeto muda de estado todos os seus dependentes são notificados e atualizados automaticamente.
45 Problema (1/2)
46 Problema (2/2) Como garantir que objetos que dependem de outro objeto fiquem em dia com mudanças naquele objeto? Como fazer com que os observadores tomem conhecimento do objeto de interesse? Como fazer com que o objeto de interesse atualize os observadores quando seu estado mudar? Possíveis riscos: Relacionamento (bidirecional) implica alto acoplamento. Como podemos eliminar o relacionamento bidirecional?
47 Estrutura UML
48 Participantes (1/2) Subject: Conhece os seus observadores. Um número qualquer de objetos Observer pode observar um subject. Fornece uma interface para acrescentar e remover objetos para associar e desassociar objetos observer. Observer: Define uma interface de atualização para objetos que deveriam ser notificados sobre mudanças em um Subject.
49 Participantes (2/2) ConcreteSubject: Armazena estados de interesse para objetos ConcreteObserver. Envia uma notificação para os seus observadores quando seu estado muda. ConcreteObserver: Mantém uma referência para um objeto ConcreteSubject. Armazena estados que deveriam permanecer consistentes com os do Subject. Implementa a interface de atualização de Observer, para manter seu estado consistente com o do subject.
50 State Permite a um objeto alterar seu comportamento quando o seu estado interno muda. O objeto parecerá ter mudado sua classe.
51 Problema Usar objetos para representar estados e polimorfismo para tornar a execução de tarefas dependentes de estado transparentes.
52 Exemplo [GoF] Sempre que a aplicação mudar de estado, o objeto TCPConnection muda o objeto TCPState que está usando.
53 Estrutura UML
54 Participantes Context: Define a interface de interesse para os clientes. Mantém uma instância de uma subclasse ConcreteState que define o estado corrente. State: Define uma interface para encapsulamento associado com um determinado estado do Context. ConcreteState: Cada subclasse implementa um comportamento associado com um estado do Context.
55 Strategy Definir uma família de algoritmos, encapsular cada uma delas e torná-las intercambiáveis. Strategy permite que o algoritmo varie independentemente dos clientes que o utilizam.
56 Problema
57 Estrutura UML
58 Participantes Strategy: Define uma interface comum para todos os algoritmos suportados. Context usa esta interface para chamar o algoritmo definido por uma ConcreteStrtegy. ConcreteStrategy: Implementa o algoritmo usando a interface de Strategy. Context: É configurado com um objeto ConcreteStrategy. Mantém uma referência para um objeto Strategy. Pode definir uma interface que permite a Strategy acessar seus dados.
59 Quando usar? Quando classes relacionadas forem diferentes apenas no seu comportamento: Strategy oferece um meio para configurar a classe com um entre vários comportamentos. Quando você precisar de diferentes variações de um mesmo algoritmo. Quando um algoritmo usa dados que o cliente não deve conhecer. Quando uma classe define muitos comportamentos, e estes aparecem como múltiplas declarações condicionais em suas operações.
60 Visitor Representar uma operação a ser executada nos elementos de uma estrutura de objetos. Visitor permite definir uma nova operação sem mudar as classes dos elementos sobre os quais opera.
61 Problema
62 Para que serve? Visitor permite: Plugar nova funcionalidade em objetos sem precisar mexer na estrutura de herança. Agrupar e manter operações relacionadas em uma classe e aplicálas, quando conveniente, a outras classes (evitar espalhamento e fragmentação de interesses). Implementar um Iterator para objetos não relacionados através de herança.
63 Exemplo [GoF]
64 Estrutura UML
65 Participantes (1/3) Visitor: Declara uma operação Visit para cada classe ConcreteElement na estrutura do objeto. O nome e a assinatura da operação identifica a classe que envia a solicitação Visit ao visitante. Isto permite ao visitante determinar a classe concreta do elemento que está sendo visitado. Então, o visitante pode acessar o elemento diretamente através da sua interface específica. Element: Define uma operação Accept que aceita um visitante como um argumento.
66 Participantes (2/3) ConcreteVisitor: Implementa cada operação declarada por Visitor. Cada operação implementa um fragmento do algoritmo definido para a correspondente classe de objeto na estrutura. ConcreteVisitor fornece o contexto para o algoritmo e armazena o seu estado local. Este estado, frenquentemente, acumula resultados durante o percurso da estrutura. ConcreteElement: Implementa uma operação Accept que aceita um visitante como um argumento.
67 Participantes (3/3) ObjectStructure: Pode enumerar seus elementos. Pode fornecer uma interface de alto nível para permitir ao visitante visitar seus elementos. Pode ser ou um composto, ou uma coleção, tal como uma lista ou um conjunto.
68 Prós e contras Vantagens: Facilita a adição de novas operações. Agrupa operações relacionadas e separa operações não relacionadas: reduz espalhamento de funcionalidades e embaralhamento. Desvantagens: Dá trabalho adicionar novos elementos na hierarquia: requer alterações em todos os Visitors. Se a estrutura muda com frequência, não use! Quebra de encapsulamento: métodos e dados usados pelo Visitor têm de estar acessíveis.
69 Resumo (1/3) Interpreter: Para realizar composição com comandos e desenvolver uma linguagem de programação usando objetos. Template Method: Para compor um algoritmo feito por métodos abstratos que podem ser completados em subclasses. Chain of Responsibility: Quando uma requisição puder ou precisar ser tratada por um ou mais entre vários objetos. Command: Para representar um comando (ação imperativa do cliente).
70 Resumo (2/3) Iterator: Para navegar em uma coleção elemento por elemento. Mediator: Para controlar a interação entre dois objetos independentes. Memento: Para armazenar o estado de um objeto sem quebrar o encapsulamento. O uso típico deste padrão é na implementação de operações de Undo. Observer: Quando houver necessidade de notificação automática.
71 Resumo (3/3) State: Para representar o estado de um objeto. Strategy: Para representar um algoritmo (comportamento). Visitor: Para estender uma aplicação com novas operações sem que seja necessário mexer na interface existente.
Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões
DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para
Padrões de Projeto de Software
Padrões de Projeto de Software Lista de Exercícios AV2-01 Luiz Leão [email protected] http://www.luizleao.com Questão 1 Qual o objetivo dos padrões Comportamentais, segundo o catálogo GOF? Questão 1 Resposta
Mas o que é mesmo Padrão de Projeto?
Mas o que é mesmo Padrão de Projeto? Um Padrão de Projeto descreve uma solução comprovada para um problema recorrente e conhecido no desenvolvimento de software orientado a objetos. Mas afinal, porque
Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico
Reuso de Software Aula 03 Tópicos da Aula POO e Padrões de Projetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 12 Março 2012 Programação orientada a objetos Reuso de
Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça. Introdução. Padrões de projeto
Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça Introdução Padrões de projeto Algumas definições... Um padrão de projeto (design pattern) é uma solução geral reutilizável
Padrões de Design. Padrões de Design. Abstract Factory. Padrões de Design. Padrões de Design Abstract Factory. Abstract Factory.
Escopo Classe Objeto Finalidade Criação Estrutural Comportamental Factory Method Interperter Abstract Factory Builder Prototype Bridge Composite Facade Flyweight Proxy Chain of Responsibility Command Iterator
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 05 Padrões GoF (Singleton e Iterator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype
b) Adapter, Bridge e Composite. c) Builder, Prototype e Singleton. d) Façade, Command e Decorator. e) Factory Method, Interpreter e Template Method.
1) Considere os diagramas de classes de análise fornecidos nos itens (a) e (b) abaixo, ambos de acordo com a notação da UML. Esses diagramas desejam representar o fato de que uma conta bancária pode estar
INF011 Padrões de Projeto. 21 Memento
INF011 Padrões de Projeto 21 Memento Sandro Santos Andrade [email protected] Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação
Padrões contexto problema solução
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.
Testes com Design Patterns
Helder da Rocha ([email protected]) 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?
Padrões de Projeto de Software
Padrões de Projeto de Software Luiz Leão [email protected] http://www.luizleao.com Introdução O que é? Como descrever? Principais Padrões de Projetos Unidade 2 Padrões GoF PADRÕES CRIAÇÃO Abstract Factory
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 09 Padrões GoF (Adapter e Composite) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton
Programação Orientada a Objetos. Padrões de Projeto
Programação Orientada a Objetos Padrões de Projeto 1 Contexto Desenvolver sistemas reutilizáveis é difícil porque deve-se procurar por: Uma boa decomposição do problema e a abstração correta. Flexibilidade,
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Padrões GoF. Leonardo Gresta Paulino Murta [email protected]
Padrões GoF Leonardo Gresta Paulino Murta [email protected] 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
Introdução ao Java. Prof. Herbert Rausch Fernandes
Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos
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
O USO DOS PADRÕES DE PROJETO GOF NA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
O USO DOS PADRÕES DE PROJETO GOF NA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Revista UNILUS Ensino e Pesquisa v. 13, n. 30, jan./mar. 2016 ISSN 2318-2083 (eletrônico) Claudio Costa Matos Graduando no curso
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
Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy
Abstract Factory Builder Factory Method Prototype Singleton Adapter Bridge Composite Decorator Facade Flyweight Proxy Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State
Padrões GoF Strategy, Observer, Singleton, Abstract Factory e outros...
Padrões GoF Strategy, Observer, Singleton, Abstract Factory e outros... SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013 1 Mais Padrões GoF Strategy Observer
Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)
Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado
Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba
Prof. Dr. Dilermando Piva Jr. Fatec Indaiatuba Imagine que uma pessoa tenha aprendido diversas técnicas de pintura. A partir desse conhecimento, ela saberá como pegar um pincel, como misturar as cores
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 é
O PARADIGMA ORIENTADO POR OBJETOS
O PARADIGMA ORIENTADO POR OBJETOS A idéia básica do paradigma orientado a objetos é imaginar que programas simulam o mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos conceitos
Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados
Estilo: BlackBoard Útil para problemas no qual não há uma solução determinística Uma coleção de programas independentes que trabalham cooperativamente em uma estrutura de dados comum (blackboard) Vários
Análise e Projeto. Padrões de Análise, Arquitetura e Projeto
Análise e Projeto Padrões de Análise, Arquitetura e Projeto 33 Padrões de Arquitetura Padrões Nome do padrão Problema: quando aplicar o padrão? Descreve o problema e seu contexto. Solução: elementos que
Computação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Interfaces Uma interface é uma forma abstrata de descrever um objeto A classe fixa a forma de um objeto
Design Patterns. Viviane Torres da Silva [email protected]. http://www.ic.uff.br/~viviane.silva/2012.1/es1
Design Patterns Viviane Torres da Silva [email protected] 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
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 06 Padrões GoF (Factory Method e Abstract Factory) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method
AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.
AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos
Especialização em web com interfaces ricas
Especialização em web com interfaces ricas Padrões de Projeto - Comportamentais Prof. Fabrízzio Alphonsus A. M. N. Soares [email protected] [email protected] Instituto de Informática Universidade
Profa. Thienne Johnson
Profa. Thienne Johnson 1 E. Gamma and R. Helm and R. Johnson and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison- Wesley, 1995. GoF Design Patterns - with examples
Decorator e Composite. Nazareno Andrade (baseado no material de Hyggo Almeida)
Decorator e Composite Nazareno Andrade (baseado no material de Hyggo Almeida) Decorator Vocês sabem como ler um arquivo texto em Java??? Pode-se usar a classe java.io.fileinputstream Vamos fazer um teste
LEIC-A / MEIC-A 2007/2008 (1º
1/11 LEIC-A / MEIC-A 2007/2008 (1º Semestre) Teste (versão A) 08 de Janeiro de 2008, 09:00 (120 minutos) Nome: Primeira Parte (5 valores) PERGUNTA RESPOSTA 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 Segunda
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
Java para Desktop. Programação Orientada à Objetos 2 JSE
Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona
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 [email protected] http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação
Padrões Comportamentais
Padrões Comportamentais Formulário para Descrição de Padrões Nome e Classificação Intenção Também Conhecido Como Motivação Aplicabilidade Estrutura Participantes Colaboradores Conseqüências Implementação
C com introdução a OO
... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro
PADRÕES DE PROJETO DE SOFTWARE
Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação PADRÕES DE PROJETO DE SOFTWARE SSC 621: Análise e Projeto Orientados a Objetos Prof. Dr. Lucas Bueno R. Oliveira 2º Semestre
Programação Orientada a Objetos
Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Programação Orientada a Objetos Módulos 9/10/11 POO 2016/2017 História A OO surgiu no
Abstract Factory. Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas
Objetivo Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas Também chamado de Kit Resumo Parece semelhante ao padrão Factory Method,
