Můžeš mluvit o různých strukturálních vzorech v objektově orientovaném návrhu?
sobes.tech AI
Odpověď od AI
Strukturální návrhové vzory pomáhají organizovat třídy a objekty pro snadné použití a rozšíření a poskytují flexibilní strukturu.
Hlavní strukturální vzory:
-
Adapter (Adaptér) — Umožňuje spolupráci objektů s nekompatibilními rozhraními tím, že jedno rozhraní obalí do jiného.
-
Decorator (Dekorátor) — Dynamicky přidává novou odpovědnost objektům tím, že je obaluje do jiných objektů.
-
Facade (Fasáda) — Poskytuje zjednodušené rozhraní složitého subsystému.
-
Proxy (Proxy) — Kontroluje přístup k jinému objektu, například pro línou inicializaci nebo kontrolu práv.
-
Composite (Složený) — Umožňuje seskupit objekty do stromové struktury a s nimi pracovat jednotně.
-
Bridge (Most) — Odděluje abstrakci od implementace, což umožňuje jejich nezávislou změnu.
Příklad použití Decorator v C#:
interface IComponent {
void Operation();
}
class ConcreteComponent : IComponent {
public void Operation() {
Console.WriteLine("Hlavní operace");
}
}
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("Další chování");
}
}
Tyto vzory pomáhají vytvářet flexibilní a udržovatelné architektury.