A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Visão crítica sobre padrões: Over Engineering Professor: Hyggo Almeida.

Apresentações semelhantes


Apresentação em tema: "Visão crítica sobre padrões: Over Engineering Professor: Hyggo Almeida."— Transcrição da apresentação:

1 Visão crítica sobre padrões: Over Engineering Professor: Hyggo Almeida

2 Padrões de projeto Um padrão de software é... a descrição de um problema que ocorre com freqüência a descrição de um problema que ocorre com freqüência e a base de uma solução para este problema e a base de uma solução para este problema Reutilização em inúmeros projetos Solução elegante e adaptável Reutilização de idéias... não de código! 2 Visão crítica sobre padrões: OverEngineering

3 Padrões de projeto Padrões para atribuição de responsabilidades (GRASP) Expert Expert Creator Creator Low Coupling Low Coupling High Cohesion High Cohesion 3 Visão crítica sobre padrões: OverEngineering

4 Padrões de projeto Padrões de projeto (Gangue dos Quatro) Padrões de criação Padrões de criação Factory Method Factory Method Singleton Singleton Abstract Factory Abstract Factory 4 Visão crítica sobre padrões: OverEngineering

5 Padrões de projeto Padrões de projeto (Gangue dos Quatro) Padrões estruturais Padrões estruturais Adapter Adapter Composite Composite Decorator Decorator Façade Façade 5 Visão crítica sobre padrões: OverEngineering

6 Padrões de projeto Padrões de projeto (Gangue dos Quatro) Padrões comportamentais Padrões comportamentais Iterator Iterator Strategy Strategy Observer Observer Template Method Template Method 6 Visão crítica sobre padrões: OverEngineering

7 Padrões de projeto: E se? Redução do impacto da evolução... Padrões de projeto (Design Patterns) Padrões de projeto (Design Patterns) 7 Desenvolvedor Quais seriam as potenciais mudanças deste software? Requisitos Software flexível (ganchos para facilitar evolução) Software flexível (ganchos para facilitar evolução)

8 Problemas com o E se? Problemas... Não é possível prever todos os cenários de evolução Não é possível prever todos os cenários de evolução Quanto mais ganchos, mais tempo e custo de desenvolvimento Quanto mais ganchos, mais tempo e custo de desenvolvimento 8 Software Desenvolvedor Quais seriam as potenciais mudanças deste software? Tempo Custo Estimativa (funcional) + flexível Over-engineering

9 Over Engineering Engenharia demais!!!! Cliente é mais importante que o desenvolvedor... Cliente é mais importante que o desenvolvedor Funcionalidade é mais importante que flexibilidade Funcionalidade é mais importante que flexibilidade Código funcional é mais importante que documentação!!!... Código funcional é mais importante que documentação!!! 9 Quando se constrói um código mais sofisticado do que ele precisa ser!!!

10 Over Engineering: como evitar? O segredo é balancear técnicas de flexibilidade e pragmatismo de entrega de código funcional ao cliente 10 Padrões Flexibilidade Código funcional Entrega

11 Solução de Extreme Programming Foco em Codificação/Testes O mais simples possível O mais simples possível Entregas freqüentes com código funcional Preciso do retorno do cliente Preciso do retorno do cliente Refatoramento com padrões Uma vez funcional, de acordo com a necessidade, melhoremos a qualidade do projeto e do código Uma vez funcional, de acordo com a necessidade, melhoremos a qualidade do projeto e do código 11

12 Mensagem final: cuidado! Use padrões quando o cheiro do projeto estiver ruim... Em geral, tá na cara a necessidade! Em geral, tá na cara a necessidade! Não force a utilização!!! Não force a utilização!!! Não é possível prever o futuro então não tente preparar o software para todas mudanças possíveis!!!... então não tente preparar o software para todas mudanças possíveis!!! O cliente é o seu senhor não coloque a elegância do seu projeto na frente do relógio dele!!!... não coloque a elegância do seu projeto na frente do relógio dele!!! 12

13 O que vimos hoje? Visão crítica sobre padrões Revisão final Revisão final Qual o impacto do E se? Qual o impacto do E se? Over Engineering Over Engineering 13 Visão crítica sobre padrões: OverEngineering

14 O que veremos na próxima aula? Threads Introdução Introdução Implementação Implementação 14 Visão crítica sobre padrões: OverEngineering

15 Dúvidas? ? 15 Visão crítica sobre padrões: OverEngineering


Carregar ppt "Visão crítica sobre padrões: Over Engineering Professor: Hyggo Almeida."

Apresentações semelhantes


Anúncios Google