Question

Quelqu'un peut-il expliquer pourquoi le nom "Décorateur"? a été choisi pour la fonctionnalité véhiculée par le motif de conception du décorateur?

J'ai toujours trouvé ce nom assez trompeur, car l'interface du décorateur et du marqueur ressemble beaucoup à moi. Cependant, alors qu'un marqueur ne fait pas vraiment quelque chose, les décorateurs le font certainement. Mais pour moi, le terme décorations implique la passivité, ce qui n'est pas vraiment le cas avec ce modèle utilisé pour ajouter des fonctionnalités.

Était-ce utile?

La solution

Je pense que l'origine du terme provient de l'exemple d'utilisation de la décoration d'une interface utilisateur avec différents composants, par exemple des barres de défilement, des boutons de fermeture, etc.

MODIFIER: Référence Page 308 dans "Modèles de conception en C #". par Steven John Metsker:

  

L'une des applications originales de DECORATOR (et vraisemblablement celle qui a donné son nom à DECORATOR) réside dans la construction de composants d'interface graphique.

Autres conseils

Je pense que l'analogie est la suivante: lorsque vous décorez une maison, vous ne cassez pas vraiment les murs ou quoi que ce soit de ce genre. sa fonctionnalité). Je pense que ce mot a été choisi pour impliquer non-intrusion, et aussi quelque chose d’optionnel.

Un décorateur " décore " une interface en ajoutant des fonctionnalités supplémentaires aux méthodes existantes, mais sans en ajouter aucune. La décoration n'est pas essentielle à la fonctionnalité de base; sinon, il aurait été construit dans la classe de base.

Parce que vous ajoutez une nouvelle fonctionnalité à un objet existant. En substance, vous "décorez" l'objet avec la nouvelle fonctionnalité.

Hé, laissez les geeks composer les noms.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top