# FAQ Kap 25: Fabrikmethode Command und Graphen * Könnten Sie in diesem Kontext noch auf den Unterschied zwischen Strategy und Command eingehen? * Command ist ganz anders. Man reifiziert eine Aktivität als Kommandoobjekt, und nicht als Methode, wenn man sie mit "undo()", "redo()", oder "persist()" behandeln will. * Beispiel: Alle Knöpfe/Menüeinträge eines interaktiven Editors sind Kommandoobjekte, weil sie mit "undo()" zurückgenommen werden müssen. * Wie entscheidet man, auf welche Art und Weise man Assoziationen dann letztendlich realisiert? * Kap. 20 bringt einen Überblick (Collections, Teams, Entwurfsmuster, Graphen). Sie haben hier als Designer große Freiheit und müssen die Kräfte untersuchen. Ich würde Ihnen raten, Graphbibliotheken zu verwenden, wo immer Sie können, denn sie kapseln die Assoziation und sind sehr flexibel in der Evolution. Deswegen Kap. 25 studieren! * Danach ein Entwurfsmuster verwenden * Danach ein Team * Danach erst Collections, denn diese "lower"-Implementierungen können zwar effizienter sein, haben aber Probleme in der Evolution, denn man gibt das Wissen auf, dass man einen Graph implementieren wollte * Manchmal muss man eine Implementierungsentscheidung auch in der Evolution zurücknehmen oder anders treffen. * Anschlussfrage zum Command: Wie kann man dann dieses Pattern als Kollaboration in einem UML Diagramm kennzeichnen? Einfach nur diese eine Klasse als "Command"? Template Method teilt man ja zum Beispiel in "AbstractClass" und "ConcreteClass" auf. * Richtig. Command, FactoryMethod, TemplateMethod sind "Einzelobjektmuster", die nur einen Stereotyp vergeben. "Mehrobjektmuster" wie Mediator, Bridge, Strategy, TAM bieten mehrere Rollen an, die Stereotypen definieren.