none
Design patterns em projetos RRS feed

  • Pergunta

  • Pessoal,
    Comecei a estudar design patterns com vontade a algumas semanas e estou tirando algumas conclusões; gostaria de perguntar o que acham sobre essas conclusões.
    1-Para se programar em POO é necessário aplicar design patterns, senão não tem jeito. Cheguei a essa conclusão quando vi todos os conceitos da POO aplicados no designer e cheguei a conclusão que eu não conseguia aplicar os conceitos de POO nos meus projetos devido a falta de conhecimento em designer patterns. Cheguei a conclusão que sem patterns não é possível utilizar POO. Correto?
    2-Não existem muitos livros de .NET voltados para design patterns.
    3-Quando trabalho em uma aplicação e quero aplicar design patterns. Primeiro  desenho o diagrama de classe e os relacionamento das classes de acordo com o desenho aplico algum design pattern ou simplesmente saio escrevendo e vou aplicando os conceitos de designer pattern no andar da carruagem?

    É isso ai! Rumo ao mundo de códigos limpos e legiveis.


    Henrique Cabral
    quarta-feira, 22 de julho de 2009 03:20

Respostas

  • Rick,

    1) Não é verdade. Você pode ter uma aplicação OO sem DP. Mas, na verdade, é melhor se você aplicar os padrões corretos no momento correto. Padrões são opções, não obrigações. Seria correto dizer: É melhor (em vez de necessário) se eu aplicar DP em uma aplicação OO.
    2) Não é verdade. Há livros de DP em .Net sim. Só que isso não faz diferença. O livro que apresenta DP da maneira mais clara que eu conheço é o "Use a cabeça design patterns" (Head First Design Patterns), e é em Java, e quem conhece C# lê o livro sem problemas.
    3) Eu não desenho diagrama de classes se não for no Visual Studio, já integrado com o código. Na verdade, desenho sim, num quadro branco, ou num pedaço de papel, para ter uma idéia da estrutura. Os padrões devem aparecer naturalmente. Eu nunca começo um desenho pensando "Preciso aplicar uma factory", ou "preciso de um registry". Isso surge quando eu preciso.

    Boa sorte. O mundo é mais bonito com design patterns.
    Giovanni Bassi, Microsoft MVP, MCSD, MCPD, CSM, Arquiteto de software - http://www.giovannibassi.com
    • Marcado como Resposta Henrique Adonai sexta-feira, 24 de julho de 2009 02:33
    quarta-feira, 22 de julho de 2009 17:40
    Moderador
  • Caro Rick,

    1 - Apesar de você poder programar OOP sem DP, você só vai conseguir extrair o máximo do potencial desta metodologia utilizando Design Patterns. É claro que você não vai utilizar uma Strategy por que é bonitinho, mas existirá momentos em que o próprio código pedirá por esta abordagem. Os padrões de projeto são exatamente o que dizem: São Padrões. E há uma grande econômia de tempo quando utilizamos padrões, pois utilizamos todo um conhecimento já testado e aprovado.

    2 - Nunca procurei nenhum livro de DP voltado para uma liguagem específica. A linguagem, desde que dê suporte pleno à OO, é secundária.
    Concordo com o Giovanni que o melhor livro para apresentação de Padrões de Projeto "Use a cabeça design patterns" (Head First Design Patterns).
    Mas aconselho que você tenha o livro "Refatoração - Aperfeiçoando o Projeto de Código Existente", autor Martin Fowler. Apesar de não ser um livro específico de Padrões ele te ajudará a reorganizar seu código de uma maneira que quando você for utilizar padrões, sua programação estará plenamente apta a utilizar as DP.

    3 - Eu também utilizo um quadro branco para desenhar UML e escrevo as classes da maneira mais simples possível. Depois analiso as relações. Subo um método aqui, desço outro ali, encapsulo um conjunto de dados até enxugar bem o diagrama. Neste prossesso você identificará os pontos onde os Padrões serão úteis e aplicáveis.

    Abraço e espero ter ajudado.
    • Marcado como Resposta Henrique Adonai sexta-feira, 24 de julho de 2009 02:33
    quinta-feira, 23 de julho de 2009 16:04

Todas as Respostas

  • Rick,

    1) Não é verdade. Você pode ter uma aplicação OO sem DP. Mas, na verdade, é melhor se você aplicar os padrões corretos no momento correto. Padrões são opções, não obrigações. Seria correto dizer: É melhor (em vez de necessário) se eu aplicar DP em uma aplicação OO.
    2) Não é verdade. Há livros de DP em .Net sim. Só que isso não faz diferença. O livro que apresenta DP da maneira mais clara que eu conheço é o "Use a cabeça design patterns" (Head First Design Patterns), e é em Java, e quem conhece C# lê o livro sem problemas.
    3) Eu não desenho diagrama de classes se não for no Visual Studio, já integrado com o código. Na verdade, desenho sim, num quadro branco, ou num pedaço de papel, para ter uma idéia da estrutura. Os padrões devem aparecer naturalmente. Eu nunca começo um desenho pensando "Preciso aplicar uma factory", ou "preciso de um registry". Isso surge quando eu preciso.

    Boa sorte. O mundo é mais bonito com design patterns.
    Giovanni Bassi, Microsoft MVP, MCSD, MCPD, CSM, Arquiteto de software - http://www.giovannibassi.com
    • Marcado como Resposta Henrique Adonai sexta-feira, 24 de julho de 2009 02:33
    quarta-feira, 22 de julho de 2009 17:40
    Moderador
  • Caro Rick,

    1 - Apesar de você poder programar OOP sem DP, você só vai conseguir extrair o máximo do potencial desta metodologia utilizando Design Patterns. É claro que você não vai utilizar uma Strategy por que é bonitinho, mas existirá momentos em que o próprio código pedirá por esta abordagem. Os padrões de projeto são exatamente o que dizem: São Padrões. E há uma grande econômia de tempo quando utilizamos padrões, pois utilizamos todo um conhecimento já testado e aprovado.

    2 - Nunca procurei nenhum livro de DP voltado para uma liguagem específica. A linguagem, desde que dê suporte pleno à OO, é secundária.
    Concordo com o Giovanni que o melhor livro para apresentação de Padrões de Projeto "Use a cabeça design patterns" (Head First Design Patterns).
    Mas aconselho que você tenha o livro "Refatoração - Aperfeiçoando o Projeto de Código Existente", autor Martin Fowler. Apesar de não ser um livro específico de Padrões ele te ajudará a reorganizar seu código de uma maneira que quando você for utilizar padrões, sua programação estará plenamente apta a utilizar as DP.

    3 - Eu também utilizo um quadro branco para desenhar UML e escrevo as classes da maneira mais simples possível. Depois analiso as relações. Subo um método aqui, desço outro ali, encapsulo um conjunto de dados até enxugar bem o diagrama. Neste prossesso você identificará os pontos onde os Padrões serão úteis e aplicáveis.

    Abraço e espero ter ajudado.
    • Marcado como Resposta Henrique Adonai sexta-feira, 24 de julho de 2009 02:33
    quinta-feira, 23 de julho de 2009 16:04
  • Flávio e Giovanni,

    Obrigado pelos esclarecimentos.
    Agora é estudar e aprender de uma vez por todos OO e DP.
    Estou com o livro Use a cebeça Análise e Projeto Orientado ao Objeto e também com o Use a cabeça design Patterns.
    Vou iniciar com o primeiro e em seguida já emendo o segundo. :-)




    Henrique Cabral
    sexta-feira, 24 de julho de 2009 02:37