Sobes.tech
Junior — Middle

Можеш ли да говориш о различитим структурним образцима у објектно-оријентисаном дизајну?

sobes.tech АИ

Одговор од АИ

Strukturni obrasci dizajna pomažu u organizaciji klasa i objekata radi jednostavnosti korišćenja i proširenja, obezbeđujući fleksibilnu strukturu.

Glavni strukturni obrasci:

  • Adapter (Adapter) — Omogućava objektima sa nekompatibilnim interfejsima da rade zajedno, obavijajući jedan interfejs u drugi.

  • Decorator (Dekorator) — Dinamički dodaje nove odgovornosti objektima, obavijajući ih u druge objekte.

  • Facade (Fasada) — Pruža pojednostavljeni interfejs složenom podsistemu.

  • Proxy (Proxy) — Kontroliše pristup drugom objektu, na primer, za lenju inicijalizaciju ili kontrolu prava.

  • Composite (Kompozit) — Omogućava grupisanje objekata u stablo i rad s njima na ujednačen način.

  • Bridge (Most) — Odvajanje apstrakcije od implementacije, omogućavajući njihovu nezavisnu promenu.

Primer korišćenja Decorator u C#:

interface IComponent {
    void Operation();
}

class ConcreteComponent : IComponent {
    public void Operation() {
        Console.WriteLine("Glavna operacija");
    }
}

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("Dodatno ponašanje");
    }
}

Ovi obrasci pomažu u kreiranju fleksibilnih i održivih arhitektura.