Sobes.tech
Junior — Middle

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.