Padrões de Projetos Orientados a Objetos I Wolley W. Silva.

Slides:



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

Carlos Roberto Marques Junior
PADRÕES DE PROJETO..
Design Patterns Patrícia Mateus nº3343 Carla Guerreiro nº3157
Modelagem de Software Orientado a Objetos
Engenharia de Software
Design Patterns Builder Pattern
Projeto de Sistemas de Software
Carlos R. M. Junior Eduardo Motta
Projeto de Sistemas de Software
Projeto de Sistemas de Software
Padrão de Projeto Composite
Projeto de Sistemas de Software Leandra Mara da Silva
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.
Padrões GoF - Façade.
Eduardo Bezerra Padrões GoF Eduardo Bezerra
Padrões GoF – Factory Method
Introdução ao paradigma de programação: Orientado a Objetos
Padrões - introdução O que é um padrão?
Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho
Padrão de Construção Factory Method
Análise Orientada a Objetos
Design Patterns Projeto de Sistemas de Software.
Fundamentos da Engenharia de Software
Módulo III Padrões GOF Professores
Projeto de Sistemas de Software
Linguagens Orientadas a Objeto
Arquitetura de Software Visão Geral
Padrões de Projeto Aplicações empresariais são complexas
Design Patterns Bridge
Design Patterns e você. Jay Moretti Grupo de desenvolvedores Actionscripts do Brasil
Estudo de Caso: um editor de documentos
PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof
Rodrigo Cândido da Silva Instrutor VOffice / Globalcode
Aula prática 14 Orientação a Objetos – C++ Parte 2
Projeto Orientado aos Objetos Prof. Wolley W. Silva
Design Pattern (Padrões de Projeto)
Análise Orientado aos Objetos Prof. Wolley W. Silva
Padrão- MVC Model, View, Controller
Padrões de Projeto.
Introdução Padrões de Projeto
Trabalho Final de Padrões de Projeto
Padrões de Design Toacy Cavalcante de Oliveira. 2 April 20, 2015 Problema.
Padrões de Projeto.
Factory.
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.
Engenharia de Software Orientada a Objetos
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.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Padrões de Projeto de Criação Padrões de Projeto Orientados a Objetos Prof a. Danielle Martin Universidade de Mogi das Cruzes.
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 5 – Padrão Decorator 1. QuickReview: Observer Definição: Quando usar? Tipo de padrão? Como? 2.
Padrões de Projeto Estruturais
Padrões de Projeto.
Arquitetura e padrões de software
Transcrição da apresentação:

Padrões de Projetos Orientados a Objetos I Wolley W. Silva

Ementa Resumida Aplicar os Princípios da Orientação a Objetos na Modelagem e Programação; Conhecer e Aplicar os Padrões de Projeto (GoF) de acordo com suas categorias: – Padrões de Criação – Padrões Estruturais – Padrões Comportamentais

Bibliografia Básica

Princípios de Design 1.Programe para uma interface, não para um implementação 2.Dar preferencia (favorecer) a composição de objetos à herança de classe 3.Encapsular o que pode mudar

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.

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

2º Princípio: Prefira a composição de objetos à herança Erich Gamma. (GOF) – “Quando a herança é usada cuidadosamente (apropriadamente), toas as classes derivadas compartilharão sua interface”. Quando métodos e/ou atributos herdados não são utilizador por sua classes filhas.

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

3º Princípio: Encapsular o que pode variar

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

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.

GOF – 23 Padrões de Projeto Propósito Escopo CriaçãoEstruturalComportamental ClasseFactory MethodAdapterInterpreter Template Method ObjetoAbstract Factory Builder Prototype Singleton Adapter Bridge Composite Façade Flyweight Proxy Chain of Resposibility Command Iterator Mediator Memento Observer Strategy Visitor

Padrão Strategy Objetivo: – Encapsulamento de algoritmos que podem variar com facilidade para prover um comportamento mais adequado para um objeto de acordo com um contexto.

Padrão Strategy

Os pontos fracos da solução implementada são: – Uso de if's e else's para testar opções de pagamento e tomar o fluxo correto. – Um método que faz múltiplas coisas. Baixa coesão. – A cada nova condição adicionada o código tona-se mais complexo. Padrão Strategy

Aspectos positivos – O algoritmo poder ser alterado sem a modificação da classe Venda. – Novas implementações podem ser criadas e introduzidas posteriormente. – Polimorfismo na chamada dos método que executará a regra de pagamento.

Padrão Builder Builder propõe que o processo de construção de um objeto complexo, seja separado da definição do objeto, para que possamos ter diferentes algoritmos de construção permitindo diferentes representações para o objeto.

Padrão Builder Veja que o construtor dessa classe é extenso e difícil de entender.

Padrão Builder

Veja que agora a regra de criação de objeto NotaFiscal

Padrão Builder

Padrão Composite Compor objetos em estrutura de árvore para representarem hierarquias todo-parte. Composite permite tratar de maneira uniforme objetos individuais e composições de objetos.

Padrão Composite Classes composite (nó Galho): que poderão conter outros componentes; Classes leaf (nó Folha): que serão componentes finais na hierarquia;

Padrão Composite

Exercício Aplique os conceitos relembrados aqui resolvendo os exercícios disponíveis na pasta da disciplina.