Décorateur (patron de conception)

Décorateur (patron de conception)
Page d'aide sur l'homonymie Pour les articles homonymes, voir Décorateur.

En génie logiciel, un décorateur est le nom d'une des structures de patron de conception.

Un décorateur permet d'attacher dynamiquement de nouvelles responsabilités à un objet. Les décorateurs offrent une alternative assez souple à l'héritage pour composer de nouvelles fonctionnalités.

Sommaire

Exemple en C#

Ici l'héritage est utilisé.

//______________________________________________________________________
// Déclarations
 
abstract class Voiture {
    public abstract double Prix { get; }
}
class  AstonMartin : Voiture {
    public override double Prix { get { return 999.99; } }
}
 
//______________________________________________________________________
// Décorateurs
 
class Option : Voiture {
    protected Voiture _originale;
    protected double _tarifOption;
    public Option(Voiture originale, double tarif) { 
        _originale = originale;
        _tarifOption = tarif; 
    }
    public override double Prix {
        get { return _originale.Prix + _tarifOption; }
    }
}
 
class Climatisation : Option {
    public Climatisation (Voiture originale) : base(originale, 1.0) { }
}
class Parachute : Option {
    public Parachute (Voiture originale) : base(originale, 10.0) { }
}
class Amphibie : Option {
    public Amphibie (Voiture originale) : base(originale, 100.0) { }
}
 
//______________________________________________________________________
// Implémentation
 
class Program {
    static void Main() {
        Voiture astonMartin= new AstonMartin();
        astonMartin = new Climatisation(astonMartin);
        astonMartin = new Parachute(astonMartin);
        astonMartin = new Amphibie(astonMartin);
 
        Console.WriteLine(astonMartin.Prix); // affiche 1110.99
    }
}

Exemple en PHP

<?php
 
// Interface pour rendre un objet affichable
interface Affichable {
        public function affiche();
}
 
// Classe contenant un message affichable
class Message implements Affichable {
 
        protected $message = '';
 
        public function __construct($message) {
                $this->message = $message;
        }
 
        public function affiche() {
                echo $this->message;
        }
 
}
 
// Une classe abstraite de décoration de message affichable
abstract class DecorateurDeMessage implements Affichable {
 
        protected $messageDecore = null;
 
        public function __construct(Affichable $messageDecore) {
                $this->messageDecore = $messageDecore;
        }
}
 
// Une classe pour "décorer" un message en gras
class MessageEnGras extends DecorateurDeMessage {
 
        public function affiche() {
                echo '<strong>';
                $this->messageDecore->affiche();
                echo '</strong>';
        }
}
 
// Une classe pour "décorer" un message en italique
class MessageEnItalique extends DecorateurDeMessage {
 
        public function affiche() {
                echo '<em>';
                $this->messageDecore->affiche();
                echo '</em>';
        }
}
 
// Création du message
$message = new Message('le message');
 
// On met le message en gras et en italique
$messageDecore = new MessageEnItalique( new MessageEnGras( $message ) );
// On affiche le message décoré
$messageDecore->affiche();
?>

Articles connexes


Références externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Décorateur (patron de conception) de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • Decorateur (patron de conception) — Décorateur (patron de conception) Pour les articles homonymes, voir Décorateur. En génie logiciel, un décorateur est le nom d une des structures de patron de conception. Un décorateur permet d attacher dynamiquement de nouvelles responsabilités à …   Wikipédia en Français

  • Décorateur (Patron De Conception) — Pour les articles homonymes, voir Décorateur. En génie logiciel, un décorateur est le nom d une des structures de patron de conception. Un décorateur permet d attacher dynamiquement de nouvelles responsabilités à un objet. Les décorateurs offrent …   Wikipédia en Français

  • Décorateur (Motif de conception) — Décorateur (patron de conception) Pour les articles homonymes, voir Décorateur. En génie logiciel, un décorateur est le nom d une des structures de patron de conception. Un décorateur permet d attacher dynamiquement de nouvelles responsabilités à …   Wikipédia en Français

  • Décorateur (motif de conception) — Décorateur (patron de conception) Pour les articles homonymes, voir Décorateur. En génie logiciel, un décorateur est le nom d une des structures de patron de conception. Un décorateur permet d attacher dynamiquement de nouvelles responsabilités à …   Wikipédia en Français

  • Adaptateur (Patron De Conception) — En génie logiciel, Adaptateur est un patron de conception (design pattern) de type structure (structural). Sommaire 1 But 2 Autre nom 3 Motivation / Exemple 4 …   Wikipédia en Français

  • Adaptateur (patron de conception) — En génie logiciel, Adaptateur est un patron de conception (design pattern) de type structure (structural). Sommaire 1 But 2 Autre nom 3 Motivation / Exemple 4 Applicabil …   Wikipédia en Français

  • Patron de conception — Pour les articles homonymes, voir Patron. le patron Proxy En informatique, et plus particulièrement en développement logiciel, un patron de conception (en anglais  …   Wikipédia en Français

  • Patron de modélisation — Patron de conception Pour les articles homonymes, voir Patron. Un patron de conception (design pattern en anglais) est un concept de génie logiciel destiné à résoudre les problèmes récurrents suivant le paradigme objet. En français on utilise… …   Wikipédia en Français

  • Décorateur — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Métier Décorateur est le nom que l on donnait entre la fin du XIXe siècle (surtout dans l Art nouveau) et la première moitié du XXe siècle aux… …   Wikipédia en Français

  • Adaptateur (motif de conception) — Adaptateur (patron de conception) En génie logiciel, Adaptateur est un patron de conception (design pattern) de type structure (structural). Sommaire 1 But 2 Autre nom 3 Motivation / Exemple 4 …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”