Introdução 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
Projeto 1.
Clínica X Linha de Produto para Sistemas de Gerência de Clínicas Alessandro Cavalcante Gurgel Prof. Carlos J. P. Lucena.
Design Patterns Builder Pattern
Projeto de Sistemas de Software
Projeto de Sistemas de Software
Projeto de Sistemas de Software
Template Method Projeto de Sistemas de Software. © LES/PUC-Rio Template Method Motivação.
Padrão Abstract Factory
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?
MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP
Padrão de Construção Factory Method
Documentação da Neptus Framework
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Classes Abstractas.
Design Patterns Projeto de Sistemas de Software.
Aula prática - análise contextual
Fundamentos da Engenharia de Software
Visão crítica sobre padrões: Over Engineering
Padrões de projeto detalhados Factory Method, Abstract Factory
Módulo III Padrões GOF Professores
Projeto de Sistemas de Software
Arquitetura de Software Visão Geral
Integração com Banco de Dados
Arquitetura de Software Introdução
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)
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Padrões de Projeto.
Aplicativos Web Orientação a Objetos
Trabalho Final de Padrões de Projeto
Padrões de Design Toacy Cavalcante de Oliveira. 2 April 20, 2015 Problema.
Padrões de Projeto Abstract Factory.
Padrões de Projeto.
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.
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
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
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.
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
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.
Projeto de Arquitetura de Software
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 Estruturais
Padrões de Projeto.
Arquitetura e padrões de software
Transcrição da apresentação:

Introdução Padrões de Projeto Princípios de Design Pattern Prof. Wolley

Introdução Padrões de Projeto Um Design Pattern é uma técnica de modelagem de classes e objetos que resolve um problema comum a diversos tipos de aplicativos.

Padrões Arquiteturais Famílias de Padrões Gang Of Four – GOF 23 – Padrões Criação Estrutura Comportamento

GOF – 23 Padrões de Projeto Propósito Escopo Criação Estrutural Comportamental Classe Factory Method Adapter Interpreter Template Method Objeto Abstract Factory Builder Prototype Singleton Bridge Composite Façade Flyweight Proxy Chain of Resposibility Command Iterator Mediator Memento Observer Strategy Visitor

Padrões Arquiteturais Famílias de Padrões J2EE: Business Delegate, Composite Entity, Composite View, Data Access Object, Fast Lane, Reader, Front Controller, Intercepting Filter, Model, view ,controller Service Locator, Session Façade, Transfer Object, Value List Handler, View Helper http://java.sun.com/blueprints/corej2eepatterns/Patterns/

Princípios de Design Programe para uma interface, não para um implementação Prefira a composição de objetos à herança de classe Encapsular o que varia

1 º Princípios: Programe para uma interface (Superclasse), não para um implementação Quando a herança é utilizada apropriadamente todas as classes derivadas sobrescrevem os métodos da superclasse.

1 º Princípios: Programe para uma interface, não para um implementação

1 º Princípios: Programe para uma interface, não para um implementação Não declare variáveis como instâncias de classes concretas, mas para classes abstratas ou interfaces;

1 º Princípios: Programe para uma interface, não para um implementação As classes ClienteDAO, ProdutoDAO e EstoqueDAO dependem da implementação concreta PostgreSQL

1 º Princípios: Programe para uma interface, não para um implementação Dependência da Implementação

1 º Princípios: Programe para uma interface, não para um implementação Mudanças muitas, vezes necessárias, pode desencadear um efeito colateral em classes dependentes.

1 º Princípios: Programe para uma interface, não para um implementação

1 º Princípios: Programe para uma interface, não para um implementação A interface representa uma abstração do comportamento de uma ou mais classes.

1 º Princípios: Programe para uma interface, não para um implementação Classes dependendo da interface

1 º Princípios: Programe para uma interface, não para um implementação Estrutura das coleções e mapas

2º Princípio: Prefira a composição de objetos à herança Vantagens da Herança Herança é definida estaticamente em tempo de compilação; é simples de usar uma vez que é suportada pela linguagem; Torna mais fácil de modificar a implementação que esta sendo reutilizada;

2º Princípio: Prefira a composição de objetos à herança Desvantagem As super classes definem parte da representação física das suas subclasses. Certos aspectos herdados podem não fazer sentido em determinadas contextos;

2º Princípio: Prefira a composição de objetos à herança

2º Princípio: Prefira a composição de objetos à herança

3º Princípio: Encapsular o que pode variar

3º Princípio: Encapsular o que pode variar

3º Princípio : Encapsular o que pode variar Olhar para uma classe, enxergar sua responsabilidade, abstrair suas possíveis alterações e criar uma nova classe. Se a sua classe precisa ter mais de uma responsabilidade, divida-as e as associe.