Sobes.tech
Junior — Middle

Kun je praten over de verschillende structurele patronen in objectgeoriënteerd ontwerp?

sobes.tech AI

Antwoord van AI

Structuurpatronen voor ontwerp helpen bij het organiseren van klassen en objecten voor gebruiksgemak en uitbreiding, en bieden een flexibele structuur.

Belangrijkste structurele patronen:

  • Adapter (Adapter) — Maakt het mogelijk dat objecten met incompatibele interfaces samenwerken door één interface in een andere te wikkelen.

  • Decorator (Decorator) — Voegt dynamisch nieuwe verantwoordelijkheden toe aan objecten door ze in andere objecten te wikkelen.

  • Facade (Fasade) — Biedt een vereenvoudigde interface voor een complex subsysteem.

  • Proxy (Proxy) — Controleert de toegang tot een ander object, bijvoorbeeld voor lazy initialisatie of toegangscontrole.

  • Composite (Samenstelling) — Maakt het mogelijk om objecten te groeperen in een boomstructuur en er uniform mee te werken.

  • Bridge (Brug) — Scheidt abstractie en implementatie, waardoor ze onafhankelijk kunnen worden gewijzigd.

Voorbeeld van het gebruik van Decorator in C#:

interface IComponent {
    void Operation();
}

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

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("Aanvullend gedrag");
    }
}

Deze patronen helpen bij het creëren van flexibele en onderhoudbare architecturen.