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.