2009-06-13 14 views

Répondre

5

Oui, c'est une utilisation courante pour le modèle de commande. Imaginez que vous ayez un ensemble de classes (par exemple Open, Save, Print) fournissant chacune une méthode execute(), vous pouvez alors associer une instance de l'une de ces classes à vos boutons et l'événement onclick du bouton peut appeler execute () sans connaître les spécificités de ce que fait la commande associée.

Le Wikipedia article donne d'autres utilisations courantes du modèle de commande.

+0

Mais comment faire le mieux l'association - à l'intérieur du bouton (par exemple, avoir une classe spéciale "CommandButton" qui garde une référence à un ICommand ... OU à l'extérieur de la classe dans une sorte de recherche? – Iain

0

Oui. J'ai aidé à relier la même Action à un clic de menu et à un clic de barre d'outils. Cela fonctionne plutôt bien. Il ne révolutionne rien, mais vous donne un code beaucoup plus propre et se débarrasse des déclarations de commutateur méchant.

J'ai un code quelque part que je vais essayer de creuser pour vous donner quelques exemples.

Questions connexes