Podes falar sobre os diferentes padrões estruturais no design orientado a objetos?
sobes.tech IA
Resposta da IA
Os padrões de design estruturais ajudam a organizar classes e objetos para facilitar o uso e a extensão, fornecendo uma estrutura flexível.
Principais padrões estruturais:
-
Adapter (Adaptador) — Permite que objetos com interfaces incompatíveis trabalhem juntos, envolvendo uma interface em outra.
-
Decorator (Decorador) — Adiciona dinamicamente novas responsabilidades aos objetos, envolvendo-os em outros objetos.
-
Facade (Fachada) — Fornece uma interface simplificada a um subsistema complexo.
-
Proxy (Proxy) — Controla o acesso a outro objeto, por exemplo, para inicialização preguiçosa ou controle de permissões.
-
Composite (Composto) — Permite agrupar objetos em uma estrutura de árvore e trabalhar com eles de forma uniforme.
-
Bridge (Ponte) — Separa a abstração da implementação, permitindo modificá-las independentemente.
Exemplo de uso do Decorator em C#:
interface IComponent {
void Operation();
}
class ConcreteComponent : IComponent {
public void Operation() {
Console.WriteLine("Operação principal");
}
}
class Decorator : IComponent {
protected IComponent component;
public Decorator(IComponent component) {
this.component = component;
}
public virtual void Operation() {
component.Operation();
}
}
class ConcreteDecorator : Decorator {
public ConcreteDecorator(IComponent component) : base(component) {}
public override void Operation() {
base.Operation();
Console.WriteLine("Comportamento adicional");
}
}
Estes padrões ajudam a criar arquiteturas flexíveis e sustentáveis.