Os padrões de projeto foram criados na década de 70 pelo arquiteto Christopher Alexander, para solucionar problemas comuns da construção civil. Mais tarde estes padrões de projeto ou Design Patterns, como são chamados, passaram a ter o objetivo de estabelecer como o próprio nome diz, padrões e normas, mas, agora com a função de serem aplicados na criação de projetos de software. Neste artigo, iremos conhecer os 5 (cinco) padrões de projetos da fase de criação de um software, que são: Abstract Factory, Builder, Factory Method, Prototype e Singleton. E após termos conhecido superficialmente o que propõe cada um deles teremos uma explanação do método Singleton aplicado com PHP.
Para que serve
Aplicar boas práticas de desenvolvimento nos projetos, conhecer os Design Patterns e possibilitar que o leitor não só saiba definir e conhecer os padrões de projeto, mas saiba como aplicá-los na prática ao longo dos seus projetos em PHP.
Em que situação o tema é útil
Este artigo é útil para desenvolvedores que possuem certo conhecimento na linguagem PHP Orientado a Objetos, porém, desenvolvem suas aplicações sem seguir nenhum padrão de desenvolvimento, sem se preocupar com a necessidade de manutenção futura desta aplicação, ou até mesmo com a necessidade de outras pessoas trabalharem em conjunto no mesmo projeto. É de grande valia para quem tem interesse em otimizar seus aplicativos para ter maior controle do desenvolvimento e maior usabilidade dos códigos escritos em suas aplicações.
Resumo do DevMan
Este artigo irá resumir de forma clara o que são estes cinco padrões de criação, mostrando aos desenvolvedores que é muito importante manter uma rotina e um padrão, para agregar maior valor em suas aplicações e para que o desenvolvedor esteja sempre preparado para desenvolver aplicações robustas e de fácil manutenção. Ao final deste artigo além de saber o que cada padrão desses vem propor, o desenvolvedor estará apto a centralizar todo acesso ao banco de dados de sua aplicação em uma única classe, que fará todo trabalho de conexão com o sistema gerenciador de banco de dados (SGBD). O principal foco deste artigo é mostrar como criar corretamente uma classe de conexão para sua aplicação respeitando os Creational Patterns (padrões de criação), sempre que for necessário fazer umas das quatro operações básicas com o banco de dados, as chamadas CRUD (Create, Retrieve, Update and Delete).
Ao projetar um sistema, o analista deve se preocupar em desenhar o projeto de uma maneira em que este mesmo projeto possa ser desenvolvido em várias linguagens de programação, por exemplo, C#, SmallTalk, Java, Asp.Net, PHP etc. e ser compreendido pelos desenvolvedores, além de apontar o caminho correto a seguir durante o desenvolvimento do mesmo. Daí vem aquela velha pergunta: mas que benefícios eu terei em aplicar os tais Patterns em meu projeto?
Bom, aqui vão alguns destes benefícios:
· Facilidade de comunicação entre a equipe de desenvolvimento: quando todos na equipe seguem a mesma linha de raciocínio, fica muito mais fácil desenvolver o projeto, pois quando é necessário um programador dar continuidade no trabalho de outro, o mesmo não fica perdido nas linhas de programação escritas;
· Maior manutenibilidade do sistema: quando se torna necessário aplicar qualquer tipo de manutenção no sistema o problema é minimizado, pois todo software foi desenvolvido seguindo um mesmo padrão;
· Legibilidade do código: o tempo para ler e compreender todo código se torna muito menor, pois o código segue uma organização pré-definida, ou seja, segue um padrão.
Assim que alguns programadores e analistas vêem estes benefícios, uma das reações que têm é a que irá adotar todos os Patterns em todas suas aplicações. E não é bem este o caminho, os padrões são criados com o intuito de corrigir algum tipo de problema recorrente, e isso não só na informática, mas em todos setores de nossa sociedade. A primeira coisa a se fazer é descobrir se sua aplicação possui algum tipo de problema que deva ser corrigido, após identificar o problema é hora de tentar estabelecer algum padrão para acabar com este problema encontrado.
Como foi dito anteriormente, neste artigo o principal intuito é fazer com que o desenvolvedor entenda alguns dos principais padrões de criação, para que assim possa analisar suas aplicações e identificar se há necessidade de estabelecer algum ou alguns deles em seu desenvolvimento. Vamos dar início aos conceitos, definições e compreendê-los.
...