Le motif Décorateur est-il principalement utilisé pour obtenir un objet avec des fonctionnalités supplémentaires choisies dynamiquement?Pouvons-nous garder une liste de fonctionnalités à l'intérieur du motif Décorateur au lieu d'utiliser l'imbrication?
Peut-on faire quelque chose comme
window = Window.new(widht, height, x, y, [UseScrollBar.new, DrawBorder.new])
de sorte que lorsque l'on appelle tirage au sort(), on boucle aussi à travers les fonctionnalités supplémentaires? Par exemple, si notre but est d'écrire une ligne dans un fichier, avec l'imbrication, nous devons écrire plusieurs fois (plusieurs lignes dans le fichier), mais avec la boucle, nous pouvons être plus flexibles sur ce que nous faisons: la ligne de texte, mais parcourez la liste des fonctionnalités supplémentaires, donc si elle est vide, nous écrivons la ligne, mais s'il y a AddLineNumber, ou AddTimeStamp, alors la ligne est modifiée, puis une seule ligne est écrite dans le fichier. J'espère que je comprends le motif assez pour donner une question précise. Est-ce que certaines personnes implémentent le motif Décorateur en utilisant une liste de fonctionnalités supplémentaires au lieu d'imbriquer?