EVANDRO VENANCIO

design patterns

@

B

Interpreter

F

Bridge
Strategy

Visitor

Factory

@

m

Contato

evandro.venanci...
EVANDRO VENANCIO - DESIGN PATTERNS

sobre padrões
É sobre solução

O padrão propõe uma solução para problemas corriqueiros...
EVANDRO VENANCIO - DESIGN PATTERNS

exemplo de padrões
Português, espanhol, inglês, grego

O entendimento das línguas reso...
EVANDRO VENANCIO - DESIGN PATTERNS

padronizando o mundo
ISO

International Organization for Standarlization

Fundada em 1...
EVANDRO VENANCIO - DESIGN PATTERNS

normas ISO em software
ISO/IEEE 1471 e ISO/IEC 42010
Descreve o arquiteto e a arquitet...
EVANDRO VENANCIO - DESIGN PATTERNS

paradigma OO: a revolução
Motivação

Abstração de conceitos do mundo real

Aplicação

...
EVANDRO VENANCIO - DESIGN PATTERNS

padrões de projetos
É sobre arquitetura

Utilizar, especificar e definir padrões como ...
EVANDRO VENANCIO - DESIGN PATTERNS

formato de um padrão
Nome

Uma descrição da solução, mais do que do problema

Exemplo
...
EVANDRO VENANCIO - DESIGN PATTERNS

GoF: Gang of Four
Quem são?

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
...
EVANDRO VENANCIO - DESIGN PATTERNS

GoF: tipos de padrões
Criação

Sistemas independentes de como seus objetos são criados...
EVANDRO VENANCIO - DESIGN PATTERNS

padrões de criação
Abstract Factory

Erich Gamma, Richard Helm, Ralph Johnson, John Vl...
EVANDRO VENANCIO - DESIGN PATTERNS

padrões estruturais
Adapter

Abstração de conceitos do mundo real

Bridge

Inteligênci...
EVANDRO VENANCIO - DESIGN PATTERNS

padrões comportamentais
Command

Utilizar, especificar e definir padrões como solução
...
EVANDRO VENANCIO - DESIGN PATTERNS

GRASP

Guia para atribuição de responsabilidade
General Responsibility Assignment Soft...
EVANDRO VENANCIO - DESIGN PATTERNS

High Cohesion

O entendimento das línguas resolve o problema de Babel

Polymorphism

A...
EVANDRO VENANCIO - DESIGN PATTERNS

SOLID

Single responsibility principle
International Organization for Standarlization
...
EVANDRO VENANCIO - DESIGN PATTERNS

técnicas e princípios
DRY

Don’t repeat yourself

MVC

Soluções ainda mais

MVVM

Os p...
EVANDRO VENANCIO - DESIGN PATTERNS

POO Separation Of Concerns
Aspect-oriented programming

rão propõe uma solução para pr...
EVANDRO VENANCIO - DESIGN PATTERNS

outros paradigmas != OO
Imperativo

Abstração de conceitos do mundo real

Estruturado
...
EVANDRO VENANCIO - DESIGN PATTERNS

Declarativa

Utilizar, especificar e definir padrões como solução

Automata-based prog...
Obrigado!
Evandro Venancio
Software Architect

http://evenancio.wordpress.com
evandro.venancio@gmail.com
@evenancio
Próximos SlideShares
Carregando em…5
×

Design Patterns

2.102 visualizações

Publicada em

Palestra de Design Patterns sob o ponto de vista arquitetônico, apresentando diferentes tipos de paradigmas e princípios, como o GoF, ISO, GRASP, SOLID, MVC e Aspect.

Publicada em: Tecnologia
0 comentários
5 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.102
No SlideShare
0
A partir de incorporações
0
Número de incorporações
924
Ações
Compartilhamentos
0
Downloads
39
Comentários
0
Gostaram
5
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Design Patterns

  1. 1. EVANDRO VENANCIO design patterns @ B Interpreter F Bridge Strategy Visitor Factory @ m Contato evandro.venancio@gmail.com Observer Composite j Flyweight e Decorator
  2. 2. EVANDRO VENANCIO - DESIGN PATTERNS sobre padrões É sobre solução O padrão propõe uma solução para problemas corriqueiros É sobre reuso O padrão pode ser aplicado em diversas circunstâncias É sobre comunicação O padrão proporciona um entendimento comum entre as pessoas É sobre organização O padrão dá sentido as diferenças do universo É sobre entendimento Aprender o padrão é aprender como lidar com os problemas
  3. 3. EVANDRO VENANCIO - DESIGN PATTERNS exemplo de padrões Português, espanhol, inglês, grego O entendimento das línguas resolve o problema de Babel Real, dólar, libra, euro, yen A moeda utilizada em um país é uma espécie de padrão Código civil, criminal, penal As diversas leis descrevem os nossos direitos e deveres Dias, semanas, meses O ano é organizado e classificado de inúmeras formas Rock, pop, metal, blues, erudito, new age Os estilos musicais definem um padrão muito bem estabelecido
  4. 4. EVANDRO VENANCIO - DESIGN PATTERNS padronizando o mundo ISO International Organization for Standarlization Fundada em 1947 Em Genebra, na Suiça Aprovação e documentação De normas técnicas, classificação e normas de procedimento No Brasil: ABNT Associação Brasileira de Normas Técnicas No EUA: ANSI American National Standarts Institute
  5. 5. EVANDRO VENANCIO - DESIGN PATTERNS normas ISO em software ISO/IEEE 1471 e ISO/IEC 42010 Descreve o arquiteto e a arquitetura de software ISO/IEC 19501 Descreve a UML como um padrão gráfico para modelagem ISO/IEC 9126 Requisitos e qualidade de software ISO/IEC 12207 Processo para ciclo de vida do desenvolvimento (ALM) E muito mais! C, C++, VRLM, segurança em TI, gerenciamento de serviços
  6. 6. EVANDRO VENANCIO - DESIGN PATTERNS paradigma OO: a revolução Motivação Abstração de conceitos do mundo real Aplicação Inteligência Artificial, Linguística e Softwares Implementação da POO Conjunto de classes que definem objetos de um sistema Conceitos chaves Classe, herança, interface, pacote, polimorfismo, mensagem Linguagens populares C++, C#, Java, Python, Ruby, SmallTalk, PHP 4
  7. 7. EVANDRO VENANCIO - DESIGN PATTERNS padrões de projetos É sobre arquitetura Utilizar, especificar e definir padrões como solução Christopher Alexander Aparece pela primeira vez em 1970 em seus livros Encapsulamento Um padrão encapsula um problema/solução bem definida Generalidade Permitir a construção de outras realizações a partir deste padrão Abstração Representam abstrações da experiência empírica
  8. 8. EVANDRO VENANCIO - DESIGN PATTERNS formato de um padrão Nome Uma descrição da solução, mais do que do problema Exemplo Figuras, diagramas ou descrições que ilustrem um protótipo Contexto A descrição das situações sob as quais o padrão se aplica Problema Descrição das forças e restrições e como elas interagem. Solução Descreve como construir artefatos de acordo com o padrão
  9. 9. EVANDRO VENANCIO - DESIGN PATTERNS GoF: Gang of Four Quem são? Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Problemas semelhantes Soluções ainda mais Make It Simple Os padrões devem ser simples e facilmente implementados Não reescreva código! Evita que o código seja duplicado e facilita a manutenção É sobre Interfaces São os contratos que definem a flexibilidade dos padrões
  10. 10. EVANDRO VENANCIO - DESIGN PATTERNS GoF: tipos de padrões Criação Sistemas independentes de como seus objetos são criados Estruturais Forma como as classes e objetos formam estrutura maiores. Comportamentais Algoritmo e atribuição de responsabilidades entre os objetos. Ao todos são 23 padrões Devidamente especificados e aceitos na comunidade.
  11. 11. EVANDRO VENANCIO - DESIGN PATTERNS padrões de criação Abstract Factory Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Builder Soluções ainda mais Factory Method Os padrões devem ser simples e facilmente implementados Prototype Evita que o código seja duplicado e facilita a manutenção Singleton São os contratos que definem a flexibilidade dos padrões
  12. 12. EVANDRO VENANCIO - DESIGN PATTERNS padrões estruturais Adapter Abstração de conceitos do mundo real Bridge Inteligência Artificial, Linguística e Softwares Composite Conjunto de classes que definem objetos de um sistema Decorator Classe, herança, interface, pacote, polimorfismo, mensagem Façade C++, C#, Java, Python, Ruby, SmallTalk, PHP 4
  13. 13. EVANDRO VENANCIO - DESIGN PATTERNS padrões comportamentais Command Utilizar, especificar e definir padrões como solução Interpreter Aparece pela primeira vez em 1970 em seus livros Mediator Um padrão encapsula um problema/solução bem definida Observer Permitir a construção de outras realizações a partir deste padrão Strategy Representam abstrações da experiência empírica
  14. 14. EVANDRO VENANCIO - DESIGN PATTERNS GRASP Guia para atribuição de responsabilidade General Responsibility Assignment Software Patterns Creator Figuras, diagramas ou descrições que ilustrem um protótipo Expert A descrição das situações sob as quais o padrão se aplica Controller Descrição das forças e restrições e como elas interagem. Low Coupling Descreve como construir artefatos de acordo com o padrão
  15. 15. EVANDRO VENANCIO - DESIGN PATTERNS High Cohesion O entendimento das línguas resolve o problema de Babel Polymorphism A moeda utilizada em um país é uma espécie de padrão Pure Fabrication As diversas leis descrevem os nossos direitos e deveres Indirection O ano é organizado e classificado de inúmeras formas Protected Variations Os estilos musicais definem um padrão muito bem estabelecido
  16. 16. EVANDRO VENANCIO - DESIGN PATTERNS SOLID Single responsibility principle International Organization for Standarlization Open/closed principle Em Genebra, na Suiça Liskov substitution principle De normas técnicas, classificação e normas de procedimento Interface segregation principle Associação Brasileira de Normas Técnicas Dependency inversion principle American National Standarts Institute
  17. 17. EVANDRO VENANCIO - DESIGN PATTERNS técnicas e princípios DRY Don’t repeat yourself MVC Soluções ainda mais MVVM Os padrões devem ser simples e facilmente implementados KISS Principle Keep it simples, Stupid! BDD/TDD São os contratos que definem a flexibilidade dos padrões
  18. 18. EVANDRO VENANCIO - DESIGN PATTERNS POO Separation Of Concerns Aspect-oriented programming rão propõe uma solução para problemas corriqueiros Role-oriented programming O padrão pode ser aplicado em diversas circunstâncias Subject-oriented programming O padrão proporciona um entendimento comum entre as pessoas
  19. 19. EVANDRO VENANCIO - DESIGN PATTERNS outros paradigmas != OO Imperativo Abstração de conceitos do mundo real Estruturado Inteligência Artificial, Linguística e Softwares Funcional Conjunto de classes que definem objetos de um sistema Procedural Classe, herança, interface, pacote, polimorfismo, mensagem Event-Driven C++, C#, Java, Python, Ruby, SmallTalk, PHP 4
  20. 20. EVANDRO VENANCIO - DESIGN PATTERNS Declarativa Utilizar, especificar e definir padrões como solução Automata-based programming Aparece pela primeira vez em 1970 em seus livros
  21. 21. Obrigado! Evandro Venancio Software Architect http://evenancio.wordpress.com evandro.venancio@gmail.com @evenancio

×