Postagens

Mostrando postagens de Novembro, 2012

Usando o padrão Decorator (GoF)

Imagem
O padrão Decorator, do livro Design Patterns: Elements of Reusable Object-Oriented Software , é útil quando precisamos adicionar um comportamento em uma classe já existente. Vamos demonstrar isso através de um exemplo de uma classe de acesso ao banco de dados onde será adicionado o uso de cache. Primeiro temos  nossa classe que acessará o "banco de dados". Na verdade, a nossa base nada mais é que um array em memória. Optei por fazer assim para manter a simplicidade do exemplo e focarmos no que realmente é importante. Além disso, a busca demora propositadamente 3 segundos para simularmos todo o trabalho de se acessar um recurso externo à aplicação como um banco de dados. // RepositorioConfiguracaoImpl.cs using System.Collections.Generic; using System.Threading; namespace ExemploDecorator { public class RepositorioConfiguracaoImpl : IRepositorioConfiguracao { private readonly Dictionary<string, string> _configuracoes = new Dictionary<string, str