Sobes.tech
Junior — Middle

Μπορείς να μιλήσεις για τα διάφορα δομικά μοτίβα στον αντικειμενοστραφή σχεδιασμό;

sobes.tech AI

Απάντηση από AI

Τα δομικά μοτίβα σχεδίασης βοηθούν στην οργάνωση κλάσεων και αντικειμένων για ευκολία χρήσης και επέκτασης, παρέχοντας μια ευέλικτη δομή.

Τα κύρια δομικά μοτίβα:

  • Adapter (Προσαρμογέας) — Επιτρέπει σε αντικείμενα με ασύμβατες διεπαφές να συνεργάζονται, τυλίγοντας μια διεπαφή σε μια άλλη.

  • Decorator (Διακοσμητής) — Προσθέτει δυναμικά νέες ευθύνες στα αντικείμενα, τυλίγοντάς τα σε άλλα αντικείμενα.

  • Facade (Εξωτερική όψη) — Παρέχει μια απλοποιημένη διεπαφή σε ένα πολύπλοκο υποσύστημα.

  • Proxy (Μεσολαβητής) — Ελέγχει την πρόσβαση σε ένα άλλο αντικείμενο, π.χ., για τεμπέλικο ξεκίνημα ή έλεγχο δικαιωμάτων.

  • Composite (Σύνθετο) — Επιτρέπει την ομαδοποίηση αντικειμένων σε μια δέντρο-δομή και την εργασία με αυτά με ομοιόμορφο τρόπο.

  • Bridge (Γέφυρα) — Διαχωρίζει την αφαιρετικότητα από την υλοποίηση, επιτρέποντας την ανεξάρτητη τροποποίησή τους.

Παράδειγμα χρήσης του Decorator σε C#:

interface IComponent {
    void Operation();
}

class ConcreteComponent : IComponent {
    public void Operation() {
        Console.WriteLine("Βασική λειτουργία");
    }
}

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("Πρόσθετη συμπεριφορά");
    }
}

Αυτά τα μοτίβα βοηθούν στη δημιουργία ευέλικτων και εύκολων στη συντήρηση αρχιτεκτονικών.