Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEduardo Napoles Alterado mais de 10 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.