Sobes.tech
Junior — Middle

Kas saaks rääkida erinevatest struktuursetest mustritest objektorienteeritud disainis?

sobes.tech AI

Vastus AI-lt

Struktuursed disainimustrid aitavad organiseerida klasse ja objekte mugavamaks kasutamiseks ja laiendamiseks, pakkudes paindlikku struktuuri.

Peamised struktuursed mustrid:

  • Adapter (Adapter) — võimaldab erinevate liideste olemasolevatel objektidel koos töötada, mähkides ühe liidese teise sisse.

  • Decorator (Dekoraator) — lisab objektidele dünaamiliselt uusi kohustusi, mähkides need teistesse objektidesse.

  • Facade (Fassaad) — pakub keerulisele alamsüsteemile lihtsustatud liidest.

  • Proxy (Esindaja) — kontrollib juurdepääsu teisele objektile, näiteks laisklaadimise või õiguste kontrolli jaoks.

  • Composite (Komposiit) — võimaldab grupeerida objekte puustruktuuri ja nendega ühtselt töötada.

  • Bridge (Sild) — eraldab abstraktsiooni ja teostuse, võimaldades neid sõltumatult muuta.

Näide Decorator mustri kasutamisest C#-s:

interface IComponent {
    void Operation();
}

class ConcreteComponent : IComponent {
    public void Operation() {
        Console.WriteLine("Põhitoiming");
    }
}

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("Täiendav käitumine");
    }
}

Need mustrid aitavad luua paindlikke ja hooldatavaid arhitektuure.