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

Apresentações semelhantes


Apresentação em tema: "Visão crítica sobre padrões: Over Engineering"— 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 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! Visão crítica sobre padrões: OverEngineering

3 Padrões de projeto Padrões para atribuição de responsabilidades (GRASP) Expert Creator Low Coupling High Cohesion 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 Factory Method Singleton Abstract Factory Visão crítica sobre padrões: OverEngineering

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

6 Padrões de projeto Padrões de projeto (Gangue dos Quatro)
Padrões comportamentais Iterator Strategy Observer Template Method 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) Requisitos Quais seriam as potenciais mudanças deste software? Software flexível (ganchos para facilitar evolução) Desenvolvedor

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

9 Over Engineering Engenharia demais!!!!
Cliente é mais importante que o desenvolvedor... ... Funcionalidade é mais importante que flexibilidade... ... Código funcional é mais importante que documentação!!! “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 Padrões Flexibilidade Código funcional Entrega

11 Solução de Extreme Programming
Foco em Codificação/Testes O mais simples possível Entregas freqüentes com código funcional 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

12 Mensagem final: cuidado!
Use padrões quando o “cheiro” do projeto estiver ruim... Em geral, “tá na cara” a necessidade! 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!!! O cliente é o seu senhor... ... não coloque a elegância do seu projeto na frente do relógio dele!!!

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

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

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


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

Apresentações semelhantes


Anúncios Google