Programação Orientada a Objetos. Padrões de Criação
|
|
|
- Vasco Sousa Damásio
- 10 Há anos
- Visualizações:
Transcrição
1 Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc.
2 Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified Modeling Language). Exemplos em Java. Aplicações típicas.
3 O que é um padrão? Um padrão descreve um problema que ocorre repetidas vezes em nosso ambiente, e então descreve o núcleo da solução para aquele problema, de tal maneira que você pode usar essa solução milhões de vezes sem nunca fazê-lo da mesma forma duas vezes. (contexto, problema, solução)
4 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 projeto: São soluções genéricas para os problemas mais comuns do desenvolvimento de software orientado a objetos. O livro tornou-se um clássico na literatura orientada a objeto e continua atual. Não são invenções. São documentação de soluções obtidas através da experiência. Foram coletados de experiências de sucesso na indústria de software, principalmente de projetos em C++ e SmallTalk. Os quatro autores, são conhecidos como The Gang of Four, ou GoF.
5 Benefícios Capturam expertise e tornam esse conhecimento acessível a non-experts, usando formato padrão. Facilitam comunicação entre desenvolvedores: Linguagem comum. Facilitam reutilização de projetos bem-sucedidos. Facilitam compreensão de projeto. Facilitam modificação de projeto. Promovem documentação de projeto.
6 Elementos de um padrão Nome. Problema: Quando aplicar o padrão, em que condições? Solução: Descrição abstrata de um problema e como usar os elementos disponíveis (classes e objetos) para solucioná-lo. Consequências: Custos e benefícios de se aplicar o padrão. Impacto na flexibilidade, extensibilidade, portabilidade e eficiência do sistema.
7 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.
8 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
9 Factory Method Definir uma interface para criar um objeto, mas deixar que subclasses decidirem que classe instanciar. O Factory Method permite que uma classe delegue a responsabilidade de instanciamento às subclasses.
10 Problema O acesso a um objeto concreto será através da interface conhecida através de sua superclasse, mas o cliente também não quer (ou não pode) saber qual implementação concreta está usando. Client Shape draw () ShapeFactory Polygon draw () Rectangle draw () Shape shape = new Rectangle(); Shape shape = ShapeFactory.getShape( rect ); shape.draw(); Circle draw () public static Shape getshape(string type) { ShapeFactory factory = (ShapeFactory) typemap.get(type); return factory.getshape(); // non-static Factory Method }
11 Solução Propósito: Definir uma interface para criação (factory) de objetos. Subclasses decidem qual classe instanciar. Também conhecido como Virtual Constructor. Motivação: Framework: relações entre objetos com classes abstratas. Aplicação: Quando a classe não deve antecipar a classe de objetos que deve ser instanciada.
12 Como implementar É possível criar um objeto sem ter conhecimento algum de sua classe concreta? Esse conhecimento deve estar em alguma parte do sistema, mas não precisa estar no cliente. Factory Method define uma interface comum para criar objetos. O objetivo específico é determinado nas diferentes implementações dessa interface. O cliente do Factory Method precisa saber sobre implementações concretas do objeto criador do produto desejado.
13 Estrutura Product: Define a interface de objetos que o método factory cria. ConcreteProduct: Implementa a interface de Product. Creator: Declara o método factory o qual retorna um objeto do tipo Product. Pode chamar o método factory para criar um objeto Product. ConcreteCreator: Redefine o método factory para retornar uma instância de um ConcreteProduct.
14 Abstract Factory Fornecer uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.
15 Problema Criar uma família de objetos relacionados sem conhecer suas classes concretas.
16 Solução Propósito: Prover uma interface para geração de famílias de objetos relacionados (e/ou dependentes) sem especificar suas classes concretas. Também conhecido como Kit. Motivação: Toolkit de user interface com múltiplas aparências. Aplicação: Um sistema deve ser configurado de acordo com uma dentre várias famílias de produtos.
17 Estrutura AbstractFactory: Declara uma interface para operações que criam objetos-produto abstratos. ConcreteFactory: Implementa as operações que criam objetos-produto concretos. AbstractProduct: Declara uma interface para um tipo de objeto-produto. ConcreteProduct: Define um objeto-produto a ser criado pela correspondente fábrica concreta. Implementa a interface de AbstractProduct.
18 Consequências Isola ConcreteClasses. Cliente só utiliza interfaces para criar os produtos da família. Encapsula cada família de produtos e permite que o cliente troque uma por outra quando for conveniente. Como o AbstractFactory fixa o conjunto de produtos que podem ser criados, o suporte a novos produtos fica prejudicado.
19 Builder Separar a construção de um objeto complexo de sua representação para que o mesmo processo de construção possa criar representações diferentes.
20 Problema Um programa que lê arquivos no formato RTF (Rich Text Format) deve ser capaz de converter um documento RTF para outros formatos distintos. Como modificar o programa facilmente de modo que ele converta um documento RTF para outros formatos diferentes?
21 Aplicabilidade Um algoritmo para a criação de um objeto deve ser independente de como suas partes são montadas. O processo de construção deve permitir diferentes representações para o objeto construído.
22 Estrutura (1/2) Builder: Especifica uma interface abstrata para criação de partes de um objeto-produto. ConcreteBuilder: Constrói e monta partes do produto pela implementação da interface de Builder. Define e mantém a representação que cria. Fornece uma interface para recuperação do produto. Director: Constrói um objeto usando a interface Builder.
23 Estrutura (2/2) Product: Representa o objeto complexo em construção. ConcreteBuilder constrói a representação interna do produto e define o processo pelo qual ele é montado. Inclui classes que definem as partes constituintes, inclusive as interfaces para a montagem das partes no resultado final.
24 Quando usar? Builder permite que uma classe se preocupe com apenas uma parte da construção de um objeto. É útil em algoritmos de construção complexos: Use-o quando o algoritmo para criar um objeto complexo precisar ser independente das partes que compõem o objeto e da forma como o objeto é construído. Builder também suporta substituição dos construtores, permitindo que a mesma interface seja usada para construir representações diferentes dos mesmos dados: Use quando o processo de construção precisar suportar representações diferentes do objeto que está sendo construído.
25 Prototype Especificar os tipos de objetos a serem criados usando uma instância como protótipo e criar novos objetos ao copiar este protótipo.
26 Problema Criar um objeto novo, mas aproveitar o estado previamente existente em outro objeto.
27 Estrutura Prototype: Declara uma interface para clonar a si próprio. ConcretePrototype: Client: Implementa uma operação para clonar a si próprio. Cria um novo objeto solicitando a um protótipo que clone a si próprio.
28 Consequências O padrão Prototype permite que um cliente crie novos objetos ao copiar objetos existentes. Uma vantagem de criar objetos deste modo é poder aproveitar o estado existente de um objeto. Cliente chama um protótipo, requisitando em Clone dele. Em seguida usa o objeto clonado e/ou inicia objetos com ele.
29 Singleton Garantir que uma classe só tenha uma única instância, e prover um ponto de acesso global a ela.
30 Problema Garantir que apenas um objeto exista, independente de número de requisições que receber para criá-lo. Aplicações: Um único banco de dados. Um único acesso ao arquivo de log. Um único objeto que representa um vídeo. Objetivo: garantir que uma classe só tenha uma instância.
31 Estrutura Singleton: Define uma operação Instance que permite aos clientes acessarem sua única instância. Instance é uma operação de classe (ou seja, em Java é um método de classe). Pode ser responsável pela criação da sua própria instância única.
32 Prós e contras Vantagens: Acesso central e extensível a recursos e objetos. Desvantagens: Qualidade da implementação depende da linguagem. Uso (abuso) como substituto para variáveis globais. Difícil ou impossível de implementar em ambiente distribuído (é preciso garantir que cópias serializadas refiram-se ao mesmo objeto).
33 Resumo (1/2) Factory Method: Para isolar a classe concreta do produto criado da interface usada pelo cliente. Abstract Factory: Para criar famílias inteiras de objetos que têm algo em comum sem especificar suas interfaces. Builder: Para construir objetos complexos em várias etapas e/ou que possuam representações diferentes.
34 Resumo (2/2) Prototype: Para criar objetos usando outro como base. Singleton: Quando apenas uma instância for permitida.
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
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?
J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha ([email protected])
Padrões de J930 Projeto Introdução Helder da Rocha ([email protected]) 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
1Introdução Helder da Rocha ([email protected])
J930 Padrões Projeto de 1Introdução Helder da Rocha ([email protected]) 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
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
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
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 [email protected] http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação
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. Prof. Jefersson Alex dos Santos ([email protected]) http://www.dcc.ufmg.br/~jefersson
Padrões de Projeto Prof. Jefersson Alex dos Santos ([email protected]) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos
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
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
Prof.ª Esp. Talita Pagani
Especialização em Engenharia de Software Prof.ª Esp. Talita Pagani [email protected] @talitapagani 21/02/2014 Design Patterns Aula 1 Prof.ª Esp. Talita Pagani 1 Informações gerais 1. Definição de Design
Abstract Factory Pattern
Abstract Factory Pattern SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Comandar uma franquia não é bolinho Estava tudo muito bom com a franquia
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
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
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
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 é
Pasteur Ottoni de Miranda Junior. Alguns Padrões de Projeto Gamma
Pasteur Ottoni de Miranda Junior Alguns Padrões de Projeto Gamma 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
Padrões de projeto 1
Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois
4 - Padrões de Construção
J930 Padrões Projeto de 4Padrões de Construção Helder da Rocha ([email protected]) argonavis.com.br Introdução A maneira padrão de construir objetos em Java é através de construtores Toda classe tem um construtor:
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
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
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á
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
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
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
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
Padrões de Software (Software Patterns)
Padrões de Software (Software Patterns) Cleidson de Souza - [email protected] Departamento de Informática Universidade Federal do Pará Agenda! Definição! Histórico! Motivação! Exemplo Estratégia MVC! Forma
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
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
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
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
INF011 Padrões de Projeto. 02 Creational Patterns
INF011 Padrões de Projeto 02 Creational Patterns Sandro Santos Andrade [email protected] Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica
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
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.
Aspectos técnicos do desenvolvimento baseado em componentes
Aspectos técnicos do desenvolvimento baseado em componentes Um novo processo de desenvolvimento O uso de componentes traz mudanças no processo de desenvolvimento Além de desenvolver um produto, queremos
2 Engenharia de Software
20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite
Análise e Projeto de Sistemas de Informação. Andrêza Leite [email protected]
Análise e Projeto de Sistemas de Informação Andrêza Leite [email protected] Roteiro Sistemas de Informação Ciclo de Desenvolvimento de SI Projeto Análise Estruturada Análise Orientada a Objetos Como
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
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
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
Tecnologias Web. Padrões de Projeto - Camada de Apresentação
Tecnologias Web Padrões de Projeto - Camada de Apresentação Cristiano Lehrer, M.Sc. Padrões da Camada de Apresentação (1/2) Intercepting Filter Viabiliza pré e pós processamento de requisições. Front Controller
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
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
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
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
Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes
Introdução Hardware X Software Corpo Humano Parte Física Componentes 18 Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Hardware Introdução Parte física: placas, periféricos,
Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW
Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
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 [email protected] [email protected] Instituto de Informática Universidade
PADRÕES DE PROJETO. Cleviton Monteiro ([email protected])
PADRÕES DE PROJETO Cleviton Monteiro ([email protected]) Roteiro Atributos de qualidade Boas práticas de projeto Code Smell Padrões de Projeto Atributos de qualidade Coesão Acoplamento Atributos de qualidade
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
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
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
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
Programação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.
Herança Técnico em Informática, M.Sc. Herança 2 Herança Reutilização de código Exemplo Banco: Um banco oferece diversos serviços que podem ser contratados individualmente pelos clientes. Quando um serviço
Sumário. Uma visão mais clara da UML
Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo V Unidade Curricular: Engenharia de Software Professora: Lara P. Z. B. Oberderfer Uma visão mais clara da
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.
Módulo 07 Características Avançadas de Classes
Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos
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
Modelagem OO com UML. Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza
Modelagem OO com UML Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira
Decorator Pattern. SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br. Junho de 2008. Departamento de Informática / UFMA
Decorator Pattern SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Revisando os conceitos Herança é poderosa mas não é flexível Comportamento
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,
PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos
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
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.: ([email protected]) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária
SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA
Projeto de Arquitetura
Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os
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
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
UML Aspectos de projetos em Diagramas de classes
UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada
Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2)
Diagrama de Classes Diagrama de Classes Modelo de classes de especificação Perspectiva de Projeto Ilustra as especificações de software para as classes e interfaces do sistema. É obtido através da adição
2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
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
UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC
CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1
Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi
5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem
Categorias de Padrões
Categorias de Padrões Padrão Arquitetural ou Estilo Arquitetural Padrão de Design (Design Patterns) Idiomas Categorias de Padrões ESTILOS ARQUITETURAIS PADRÕES DE DESIGN IDIOMAS Padrões de Design Os subsistemas
Modelagemde Software Orientadaa Objetos com UML
Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para
Engenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf ([email protected]) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Organização e Arquitetura de Computadores I. de Computadores
Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores
CURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
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
Padrões de Software (Software Patterns)
Padrões de Software (Software Patterns) Cleidson de Souza - [email protected] Departamento de Informática Universidade Federal do Pará Agenda! Definição! Histórico! Considerações! Forma de um Padrão! Exemplo!
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.
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-
