Design Patterns para o mundo real - Clube Delphi 117
Este artigo trata da aplicação prática de design patterns em problemas reais que enfrentamos no dia-a-dia. Construiremos um pequeno framework orientado a objetos e ao longo do desenvolvimento iremos implementar alguns design patterns para resolver problemas reais do sistema.
Este artigo trata da aplicação prática de design patterns em problemas reais que enfrentamos no dia-a-dia. Construiremos um pequeno framework orientado a objetos e ao longo do desenvolvimento iremos implementar alguns design patterns para resolver problemas reais do sistema.
Para que serve
A aplicação de design patterns pode aumentar a qualidade de seus sistemas, pois tratam-se de soluções testadas e aprovadas para problemas comuns do desenvolvimento de software. Com o uso de patterns você pode reduzir acoplamento, aumentar a coesão, melhorar a legibilidade de seu código e aumentar o grau de reuso do mesmo.
Em que situação o tema é útil
Design patterns são exatamente soluções para resolver problemas corriqueiros, ou seja, você pode usá-los a qualquer momento em seus projetos, seja na fase de desenvolvimento ou de manutenção você pode se deparar com um problema que já foi analisado e solucionado antes.
Resumo do DevMan
Neste artigo iremos refatorar uma aplicação desenvolvida no artigo “Design Patterns para o mundo real, Singleton, Factory e DAO” (veja sessão Links), onde aplicaremos os patterns Template Method para criar classes base com um esqueleto de um algoritmo, Abstract Factory para criação de fábricas de famílias de objetos e também o Adapter para que possamos abstrair de nossa aplicação detalhes específicos de acesso a dados (nesse caso, dbExpress e ADO). Sugiro a leitura do artigo citado para um melhor entendimento e aproveitamento deste exemplo.
Os design patterns são padrões de design de soluções de software que já foram usados e aprovados para solucionar problemas comuns do desenvolvimento de software. Os patterns mais famosos são os que foram catalogados no famoso livro conhecido como GOF, apesar de esta literatura conter a descrição de 23 patterns, não significa que os design patterns se limitam a este grupo.
O uso destes patterns, tanto os descritos no GOF quanto outros, contribui para o aumento da qualidade do nosso software, permitindo um menor grau de acoplamento, um maior reuso de código devido ao nível de abstração aplicado, uma maior coesão das classes e uma melhor legibilidade do código.
Os design patterns são independentes de plataforma e tecnologia, sendo possível aplicá-los em qualquer linguagem orientada a objetos. O conhecimento de orientação a objetos, por sinal, é algo imprescindível para a compreensão dos patterns. No artigo citado anteriormente, nós construímos uma aplicação usando os patterns Singleton, Factory e DAO. Neste artigo a dinâmica será a mesma. Primeiramente nós explicaremos os patterns que usaremos e depois falaremos sobre as alterações realizadas na aplicação anterior, com a implementação dos patterns pertinentes a cada tipo de problema.
Neste artigo usaremos o Template Method para permitir que determinadas partes de um algoritmo definido na classe base sejam implementados em classes filhas, usaremos o Abstract Factory para criamos fábricas de famílias de objetos, além de usarmos o Adapter para que possamos abstrair a camada de acesso a dados de forma que não seja traumática uma possível mudança no futuro.
Nota: No endereço para download deste artigo você pode encontrar o código-fonte da primeira versão do aplicativo, o que ajudará a compreender as adaptações, refatorações e aplicação dos patterns vistos neste artigo.
Template Method
O Template Method é um pattern comportamental que permite a definição do esqueleto de um algoritmo em uma classe base, porém com a definição de métodos abstratos que serão implementados nas classes filhas, permitindo que reutilizemos as partes em comum deste algoritmo e que reescrevamos apenas as partes diferentes para cada classe filha." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo