No post “Linq to SQL Context único por aplicação” demonstrei a utilização de um Singleton para disponibilizar um único Linq Context por aplicação.
Para muitos é óbvio o que é um Singleton bem como um Design Pattern. No entanto, pensando em quem não conhece muito bem esses conceitos resolvi criar uma série de posts para demonstrar alguns dos principais design patterns que podemos usar no dia a dia.
Primeiramente, o que é um Design Pattern? Segundo a Wikipédia, “Design Patterns, descrevem soluções para problemas recorrentes no desenvolvimento de sistemas de software orientados a objetos”.
Ou seja, são peças de código, estratégias de resolução, etc, que nos poupam tempo na resolução de problemas pelos quais outros desenvolvedores já passaram. Essas soluções são amplamente utilizadas e testadas, não havendo, geralmente, contestações sobre o seu funcionamento.
Acredito que o maior problema com relação aos DP (Design Patterns) seja “quando” utilizá-los. Percebo que há muita confusão com relação a isso, devido principalmente quando se tenta utilizá-los a qualquer custo, apenas para estar “na moda”.
A primeira coisa que você precisa saber sobre os Design Patterns é: design patterns se encaixam na categoria best practices, ou seja, seria bom se você utilizasse, mas você não será condenado à forca caso não utilize.
Em seguida, você deve saber que deve procurar um design pattern para um problema, não o contrário, ou seja, achar algum problema para tentar enquadrá-lo sob um Design Pattern. Essa última situação é a mais comum quando se tenta apenas seguir a moda.
Sugiro que você procure ter uma visão geral sobre os principais Design Patterns para que no momento em que precisar de algum deles você tenha a percepção “automática” de que ele pode ser auxiliado por algo que outro desenvolvedor já pensou.
Design Patterns normalmente são independentes de linguagem, mas a implementação deles pode variar de acordo com os recursos disponíveis em cada linguagem. Obviamente aqui irei focar em C#.
Primeiro Pattern: Singleton
Leia mais...