FluentBuilder – Meu primeiro pacote Nuget

Olá, pessoal

No começo da semana publiquei no Nuget meu primeiro pacote: FluentBuilder.

O propósito dessa lib é facilitar nossa vida, evitando que tenhamos que criar manualmente um Builder para cada objeto que iremos testar em nossa suite de testes.

Um exemplo básico de uso seria o seguinte:

var novoEndereco = FluentBuilder<Endereco>
                 .New()
                 .With(endereco => endereco.Logradouro, "Av. Afonso Pena")
                 .With(endereco => endereco.Bairro, "Centro")
                 .Build();

Continue lendo »

Construindo objetos complexos com Builders (parte 1 de 2)

Bem, pessoal?

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 exemplo de sua utilização e preparando o terreno para o próximo post, que mostrará um exemplo utilizando o conceito de interface fluente.

O QUE É

Ao contrário do Strategy, que é um padrão comportamental, o padrão Builder está na categoria de padrões de criação, junto com Abstract Factory, Factory Method, Prototype e Singleton. Continue lendo »