Padrões de Projeto.

Slides:



Advertisements
Apresentações semelhantes
Soluções elegantes para problemas recorrentes
Advertisements

PADRÕES DE PROJETO..
Design Patterns Patrícia Mateus nº3343 Carla Guerreiro nº3157
Modelagem de Software Orientado a Objetos
Design Patterns Builder Pattern
Projeto de Sistemas de Software
Projeto de Sistemas de Software
Projeto de Sistemas de Software
Padrões de Projeto Prototype.
Abstract Factory – Gustavo Lopes Mourad.
Padrão Abstract Factory
Mapeamento Objeto Relacional
1 Introdução aos padrões de projeto (GoF) Conceitos preliminares –Mecanismos de herança –Princípio de Substituição de Liskov –Acoplamento concreto x Acoplamento.
Abstract Factory Intenção: fornecer uma interface comum para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes.
Padrões GoF – Factory Method
Padrões - introdução O que é um padrão?
Padrão de Construção Factory Method
Design Patterns Projeto de Sistemas de Software.
Fundamentos da Engenharia de Software
Nazareno Andrade (baseado no material de Hyggo Almeida)
Visão crítica sobre padrões: Over Engineering
Padrões de projeto detalhados Factory Method, Abstract Factory
Singleton e Adapter Professor: Nazareno Andrade
Módulo III Padrões GOF Professores
Projeto de Sistemas de Software
Linguagens Orientadas a Objeto
Padrões de Projeto Aplicações empresariais são complexas
Software Design Patterns & AntiPatterns
Design Patterns e você. Jay Moretti Grupo de desenvolvedores Actionscripts do Brasil
Rodrigo Cândido da Silva Instrutor VOffice / Globalcode
Padrões de Projeto These slides complement the E-book, Programming in the Large With Design Patterns available on both Kindle and Nook. Additional supporting.
Design Pattern (Padrões de Projeto)
Introdução Padrões de Projeto
Design Patterns (Padrões de Projeto)
Trabalho Final de Padrões de Projeto
Padrões de Design Toacy Cavalcante de Oliveira. 2 April 20, 2015 Problema.
SISTEMA PROCESSUAL DIGITAL
Padrões de Projeto Abstract Factory.
Padrões de Projeto.
Factory.
Abstract Factory Pattern Algumas aplicações precisam criar objetos de classes que podem mudar ex: elementos de um sistema GUI. –Diferentes padrões precisam.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: AbstractMethod Professores Eduardo Bezerra –
Design Patterns A adoção dos padrões terá um efeito profundo e duradouro sobre a forma de escrevermos programas Ward Cunningham e Ralph Johnson.
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto Alcides Calsavara
1 Padrões: Composite (p. 163) Objetivo: compor objetos em estruturas de árvores para representar relações de parte/todo. “Composite” permite tratar objetos.
1 Design Patterns Israel Rios. 2 Origens A idéia de padrões de projeto não teve origem na ciência da computação Christopher Alexander A Pattern Language:
Padrão Composite Definição
Jobson Ronan Padrões GoF Jobson Ronan
Histórico de ações 0 para 1 – Composite e Visitor – Component, BasicComponent e Composite foram removidos. Adicionados virtual classes: ComponentCJ e CompositeCJ.
Detalhamento dos Padrões - Estrutura
1 - Introdução a Padrões de Projeto
Padrões de Projetos Professora Lucélia. Conceitos É uma solução conhecida para um problema comum São técnicas que nos dão uma boa solução para determinados.
Padrões de Projetos Orientados a Objetos I Wolley W. Silva.
Introdução a Padrões. Contexto Arquitetura do Sistema Análise e Projeto OO com UML e Padrões | 2 GUI / Comunicação NEGÓCIO Interfaces negócio-dados DADOS.
Aula 6 – Padrão Factory Method
Padrões de Projeto. O que são?  Soluções provenientes de diversos projetos e utilizados por diversos programadores;  Documentados em catálogos como.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/65 Padrões de Projeto.
Delegação  É uma maneira de tornar a composição tão poderosa para fins de reutilização como a herança. Na delegação, dois objetos são envolvidos no tratamento.
Padrões de Projeto de Criação Padrões de Projeto Orientados a Objetos Prof a. Danielle Martin Universidade de Mogi das Cruzes.
1 Introdução aos Padrões de Projetos (na prática) Créditos: Lúbia Vinhas Hazel Carvalho Crato Adaptações: Prof. Nécio de Lima Veras.
1 Padrões de Projeto de Software Orientado a Objetos Programação Orientada a Objetos Prof. Fabio Kon - IME/USP.
1 Introdução aos Padrões de Projetos Créditos: Prof. Fabio Kon - IME/USP Adaptações: Prof. Nécio de Lima Veras.
Introdução a Padrões de Projeto Padrões de Projeto Orientado a Objetos Profa. Danielle Martin Universidade de Mogi das Cruzes.
Programação Orienta a Objetos (SI) Análise e Projetos de Sistemas (LCC) 1 - Introdução a Padrões de Projeto Eduardo de Lucena Falcão.
Introdução a Padrões de Projeto Padrões de Projeto Orientado a Objetos Profa. Danielle Martin Universidade de Mogi das Cruzes.
Padrões de Projeto Aula 12 – Padrão Adapter. PADRÃO ADAPTER Soluções simples para problemas reais! 2.
Padrões de Projeto Estruturais
Padrões de Projeto.
Arquitetura e padrões de software
Transcrição da apresentação:

Padrões de Projeto

Padrões de Projeto Padrões

Padrões de Padrões Acoplamento Coesão Reuso de classes e objetos Padrões de Projeto Padrões de Padrões Acoplamento Coesão Reuso de classes e objetos Interface x Implementação Herança de classe x Herança de interface Composição x Herança Delegação

Padrões abordados Singleton Prototype Factory Method Abstract Factory Padrões de Projeto Padrões abordados Singleton Prototype Factory Method Abstract Factory Adapter Composite Decorator Facade Proxy Command Observer State Strategy Visitor

Singleton Única instância de uma classe Pattern ou Anti-pattern? Padrões de Projeto Singleton Única instância de uma classe Pattern ou Anti-pattern? Sincronização Classloading Distribuição Escopo [Não] coleta de lixo Testes Reuso

Prototype Clonagem Fundo (deep ) x Raso (shallow) Collections Padrões de Projeto Prototype Clonagem Fundo (deep ) x Raso (shallow) Collections Transients

Factory Method Criar objetos sem especificar a classe concreta Padrões de Projeto Factory Method Criar objetos sem especificar a classe concreta Polimórficos ou não

Abstract Factory Criar familias de objetos relacionados Padrões de Projeto Abstract Factory Criar familias de objetos relacionados Independência da camada abaixo Custo de complexidade

Padrões de Projeto Abstract Factory

Adapter Reuso quando uma interface diferente é esperada Padrões de Projeto Adapter Reuso quando uma interface diferente é esperada

Padrões de Projeto Composite Estruturas parte-todo (árvore)

Decorator Adicionar responsabilidade sem adicionar dependência Padrões de Projeto Decorator Adicionar responsabilidade sem adicionar dependência

Facade Isolar o cliente da complexidade de um subsistema Padrões de Projeto Facade Isolar o cliente da complexidade de um subsistema

Proxy “Super” referência Dynamic Proxy Remoting Lazy Secure … Padrões de Projeto Proxy “Super” referência Remoting Lazy Secure … Dynamic Proxy Interface implementada em runtime InvocationHandler

Command Execução flexível Agendamento Enfileiramento Persistência Padrões de Projeto Command Execução flexível Agendamento Enfileiramento Persistência Compensação Composição

Observer Publish / Subscribe Modelos Push / Pull java.util.Observer Padrões de Projeto Observer Publish / Subscribe Modelos Push / Pull java.util.Observer java.util.Observable T V a 10 45 b 12 24 Notificação Alteração Model a(10,45) b(12,24)

Padrões de Projeto State Alterar comportamento sem alterar classe

Padrões de Projeto Strategy Definir algorítmos intercambiáveis

Visitor Isolar operações do modelo Evita “poluição” do modelo. Padrões de Projeto Visitor Isolar operações do modelo Evita “poluição” do modelo. Permite adicionar novas operações sem alterar o modelo Alterações no modelo, entretanto, podem ser trabalhosas

Combos Singleton + [Abstract] Factory Command + Composite + Decorator Padrões de Projeto Combos Singleton + [Abstract] Factory Command + Composite + Decorator DAO (Value Object + Abstract Factory + Broker)

Anti-patterns Big Ball Of Mud Gas Factory Interface Bloat God Object Padrões de Projeto Anti-patterns Big Ball Of Mud Gas Factory Interface Bloat God Object Magic Pushbutton Object Orgy Accidental Complexity http://c2.com/cgi/wiki?AntiPattern http://www.manning.com/tate/

Padrões de Projeto Dúvidas?