Sobes.tech
Junior — Middle

Tudsz beszélni az objektumorientált tervezés különböző szerkezeti mintáiról?

sobes.tech MI

Válasz az MI-től

A szerkezeti tervezési minták segítenek osztályokat és objektumokat szervezni a könnyű használat és bővíthetőség érdekében, rugalmas struktúrát biztosítva.

Fő szerkezeti minták:

  • Adapter (Adapter) — Lehetővé teszi inkompatibilis interfészekkel rendelkező objektumok együttműködését, egy interfészbe csomagolva egy másikat.

  • Decorator (Díszítő) — Dinamikusan új felelősségeket ad hozzá az objektumokhoz, más objektumokba csomagolva őket.

  • Facade (Felület) — Egyszerűsített interfészt nyújt egy összetett alrendszerhez.

  • Proxy (Proxy) — Ellenőrzi a hozzáférést egy másik objektumhoz, például késleltetett inicializálás vagy jogosultság-ellenőrzés céljából.

  • Composite (Összetett) — Lehetővé teszi objektumok csoportosítását fa struktúrában, és egységes munkát velük.

  • Bridge (Híd) — Elkülöníti az absztrakciót a megvalósítástól, lehetővé téve azok független módosítását.

Példa a Decorator használatára C#-ban:

interface IComponent {
    void Operation();
}

class ConcreteComponent : IComponent {
    public void Operation() {
        Console.WriteLine("Fő művelet");
    }
}

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("Kiegészítő viselkedés");
    }
}

Ezek a minták segítenek rugalmas és könnyen karbantartható architektúrák kialakításában.