Sobes.tech
Junior — Middle

Môžeš hovoriť o rôznych štrukturálnych vzorcoch v objektovo orientovanom návrhu?

sobes.tech AI

Odpoveď od AI

Štrukturálne vzory návrhu pomáhajú organizovať triedy a objekty pre jednoduchšie použitie a rozšírenie, poskytujúc flexibilnú štruktúru.

Hlavné štrukturálne vzory:

  • Adapter (Adaptér) — Umožňuje objektom s nekompatibilnými rozhraniami spolupracovať, obalujúc jedno rozhranie do iného.

  • Decorator (Dekorátor) — Dynamicky pridáva nové zodpovednosti k objektom, obalujúc ich do iných objektov.

  • Facade (Fasáda) — Poskytuje zjednodušené rozhranie ku komplexnému subsystému.

  • Proxy (Proxy) — Kontroluje prístup k inému objektu, napríklad pre lenivé inicializácie alebo kontrolu práv.

  • Composite (Kompozit) — Umožňuje skupinovanie objektov do stromovej štruktúry a s nimi pracovať jednotne.

  • Bridge (Most) — Oddelí abstrakciu od implementácie, čo umožňuje ich nezávislé zmeny.

Príklad použitia Decorator v C#:

interface IComponent {
    void Operation();
}

class ConcreteComponent : IComponent {
    public void Operation() {
        Console.WriteLine("Hlavná operácia");
    }
}

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("Dodatočné správanie");
    }
}

Tieto vzory pomáhajú vytvárať flexibilné a udržiavateľné architektúry.