Template Method: Refatorando com design patterns

Retornando aos design patterns, desta vez falarei sobre o padrão Template Method. No entanto, neste post, utilizarei uma abordagem diferente: ao invés de definir o padrão e dar um exemplo, vou mostrar como refatorar código com o auxílio do padrão, melhorando o design de uma aplicação já existente. O CENÁRIO Imagine que na aplicação que esteja... Continuar Lendo →

Construindo objetos complexos com Builders (parte 2 de 2)

Nesta segunda parte do artigo sobre o design pattern Builder, vou mostrar o exemplo dado na primeira parte (<<leia aqui>>), utilizando o conceito de interface fluente. Também falarei sobre a aplicação de builders para criação de dados de testes (Test Data Builders). EXEMPLO - INTERFACE FLUENTE Começamos alterando a interface do builder abstrato "CriadorDeGuerreiro", de... Continuar Lendo →

Construindo objetos complexos com Builders (parte 1 de 2)

No meu primeiro post sobre design patterns, dei uma breve introdução sobre o assunto, explicando o que são, para que servem, suas principais vantagens e riscos. Também exemplifiquei com o padrão Strategy, um dos mais populares. Recomendo a leitura desse primeiro post <<aqui>> antes de prosseguir. Neste post falarei sobre o padrão Builder, dando um... Continuar Lendo →

Design Ágil: salve seu software do apodrecimento

Neste post falarei sobre design de software, passando pelos principais design smells e discutindo sobre o que ocasiona o apodrecimento do código. Finalizo mostrando uma luz no fim do túnel, com o processo de design ágil. Para começar, o que é design de software? Dando uma "googlada", vamos encontrar várias definições que se assemelham com... Continuar Lendo →

Blog no WordPress.com.

Acima ↑