Sobes.tech
Junior — Middle

Pouvez-vous parler des différents modèles structurels en conception orientée objet?

sobes.tech IA

Réponse de l'IA

Les patrons de conception structurels aident à organiser les classes et les objets pour faciliter leur utilisation et leur extension, en fournissant une structure flexible.

Principaux patrons structurels :

  • Adapter (Adaptateur) — Permet à des objets avec des interfaces incompatibles de travailler ensemble, en enveloppant une interface dans une autre.

  • Decorator (Décorateur) — Ajoute dynamiquement de nouvelles responsabilités aux objets, en les enveloppant dans d'autres objets.

  • Facade (Fasade) — Fournit une interface simplifiée à un sous-système complexe.

  • Proxy (Proxy) — Contrôle l'accès à un autre objet, par exemple pour une initialisation paresseuse ou un contrôle des droits.

  • Composite (Composite) — Permet de grouper des objets dans une structure arborescente et de travailler avec eux de manière uniforme.

  • Bridge (Pont) — Sépare l'abstraction de l'implémentation, permettant de les modifier indépendamment.

Exemple d'utilisation du Decorator en C# :

interface IComponent {
    void Operation();
}

class ConcreteComponent : IComponent {
    public void Operation() {
        Console.WriteLine("Opération principale");
    }
}

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("Comportement supplémentaire");
    }
}

Ces patrons aident à créer des architectures flexibles et maintenables.