Design Patterns em C#: Como Aplicar e Quando Usar
Introdução
O que são Design Patterns
Imagine que você tem um brinquedo de montar. Cada vez que você quer fazer um carro, você usa as mesmas peças e o mesmo manual. Design patterns são como esses manuais. Eles são soluções prontas para problemas comuns na programação, especialmente quando você trabalha no back-end, ajudando a criar código de forma mais organizada e eficiente.
Como Aplicar
Para aplicar um design pattern, você primeiro precisa identificar um problema que ele resolve. Vamos ver alguns exemplos com código.
Design Patterns mais utilizados
Singleton:
O Singleton garante que apenas uma instância de uma classe seja criada e usada.
public class Singleton
{
private static Singleton instance;
private Singleton() { }
public static Singleton Instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
Factory Method:
O Factory Method cria objetos sem expor a lógica de criação ao cliente.
public interface IProduct
{
void DoSomething();
}
public class ConcreteProduct : IProduct
{
public void DoSomething()
{
Console.WriteLine("ConcreteProduct fazendo algo.");
}
}
public class Creator
{
public IProduct FactoryMethod()
{
return new ConcreteProduct();
}
}
Observer:
O Observer permite que um objeto notifique outros objetos sobre mudanças em seu estado.
public interface IObserver
{
void Update();
}
public class ConcreteObserver : IObserver
{
public void Update()
{
Console.WriteLine("ConcreteObserver atualizado.");
}
}
public class Subject
{
private List<IObserver> observers = new List<IObserver>();
public void Attach(IObserver observer)
{
observers.Add(observer);
}
public void Notify()
{
foreach (var observer in observers)
{
observer.Update();
}
}
}
Quando Usar e Exemplos
Você deve usar design patterns quando encontrar problemas recorrentes no seu código e quiser uma solução comprovada.
Exemplo 1:
Use o Singleton quando você precisa de uma única instância de uma classe, como um logger ou um pool de conexões de banco de dados.
Exemplo 2:
Use o Factory Method quando você precisa de uma forma flexível de criar objetos, especialmente quando a criação envolve lógica complexa.
Exemplo 3:
Use o Observer quando você tem um objeto que precisa notificar outros objetos sobre mudanças, como em um sistema de eventos.
Conclusão
Gostou de aprender sobre design patterns? Ele foi criado com inteligência artificial, mas foi revisado por alguem 100% Humano,
e se quiser se conectar comigo me siga no Linkedin!
Fontes de Produção:
Ilustrações de capa: Gerada pela lexica.art
Conteúdo gerado por: ChatGPT e revisões humanas
Hashtags
#DesignPatterns #Programação #C-Sharp