Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 564043
            [titulo] => Qual a vantagem do uso de design patterns?
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-10-13 15:35:48
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 150057
            [status] => A
            [isExample] => -1
            [NomeUsuario] => HÉLIO CARLOS CARDOSO  Autor e Consultor DevMedia
            [Apelido] => 
            [Foto] => 150057_20160601110802.png
            [Conteudo] => Sim, Diego, claro que sim.

Antes de explicar, cabe lembrar que com o passar do tempo algumas linguagens de programação incorporam o design pattern dentro da linguagem e nós nem mais sabemos que estamos utilizando. Um exemplo era o Padrão Iterator que incapsulava uma lista de objetos e permitia um melhor acesso a ela, mas agora com generics e listas tipadas, trabalhamos muito melhor sem nos dar conta que o padrão está subentendido.

Mas voltando a Sua pergunta, o valor real dos padrões de projetos, é possibilitar um software com um código extremamente bem elaborado e que implemente bem a Orientação a Objeto.

Como resultado, tudo será mais fácil no sentido de manutenção do código, acrescentar novos recursos, módulos, classes ou funcionalidades.
Também será mais fácil interagir com outras tecnologias, e resolverá problemas difíceis com uma solução mais simples e já testada.

Só não é fácil mesmo entender o conceito de cada padrão, mas depois que entender aí fica fácil.
Se você trabalhar numa equipe e só você entende os padrões, com certeza terá problemas de comunicação, alguns podem achar que vc fez loucuras no código, mas quando todos entendem de padrões, além de maior segurança em relação ao código, as pessoas sabem se comunicar melhor com o software.

Exemplo, se Alguem perguntar, onde você instancia a classe que armazena a conexão com o banco e você diz que a classe é singleton, automaticamente a pessoa que sabe o que é, vai saber que é só chamar a classe.getInstance(), não precisa saber onde instanciou.

Então, existe um valor real sim, para a melhor e melhorar a qualidade de seu código. Mas para saber mais precisamente quais são as vantagens de cada padrão é necessário estudá-los.

Qualquer coisa pode perguntar aqui.

Se foi útil a minha resposta, também dê um joinha para saber que fui útil. ) )

Qual a vantagem do uso de design patterns?

PHP
Diego Souza
|
MVP
Pontos: 635
    13 out 2016

Olá pessoal, estou com uma dúvida.
Existe algum vantagem real em usar design patterns?
Vejam bem, uso o php e vi que posso aplicar design patterns no meus projetos.
Vi o Factory, Singleton, Strategy, etc
Os padrões de projeto chegam a oferecer uma vantagem real para quem os aplica?

Post mais votado

Hélio Devmedia
|
MVP
Pontos: 120
    13 out 2016

Sim, Diego, claro que sim.

Antes de explicar, cabe lembrar que com o passar do tempo algumas linguagens de programação incorporam o design pattern dentro da linguagem e nós nem mais sabemos que estamos utilizando. Um exemplo era o Padrão Iterator que incapsulava uma lista de objetos e permitia um melhor acesso a ela, mas agora com generics e listas tipadas, trabalhamos muito melhor sem nos dar conta que o padrão está subentendido.

Mas voltando a Sua pergunta, o valor real dos padrões de projetos, é possibilitar um software com um código extremamente bem elaborado e que implemente bem a Orientação a Objeto.

Como resultado, tudo será mais fácil no sentido de manutenção do código, acrescentar novos recursos, módulos, classes ou funcionalidades.
Também será mais fácil interagir com outras tecnologias, e resolverá problemas difíceis com uma solução mais simples e já testada.

Só não é fácil mesmo entender o conceito de cada padrão, mas depois que entender aí fica fácil.
Se você trabalhar numa equipe e só você entende os padrões, com certeza terá problemas de comunicação, alguns podem achar que vc fez loucuras no código, mas quando todos entendem de padrões, além de maior segurança em relação ao código, as pessoas sabem se comunicar melhor com o software.

Exemplo, se Alguem perguntar, onde você instancia a classe que armazena a conexão com o banco e você diz que a classe é singleton, automaticamente a pessoa que sabe o que é, vai saber que é só chamar a classe.getInstance(), não precisa saber onde instanciou.

Então, existe um valor real sim, para a melhor e melhorar a qualidade de seu código. Mas para saber mais precisamente quais são as vantagens de cada padrão é necessário estudá-los.

Qualquer coisa pode perguntar aqui.

Se foi útil a minha resposta, também dê um joinha para saber que fui útil.

Diego Souza
|
MVP
Pontos: 635
    14 out 2016

Obrigado Helio, esclareceu bastante!