Wie Chain of Responsibility Muster unterscheidet sich von Decorator Pattern ..?Designmuster Kette der Verantwortlichkeit Vs Dekorateur
Antwort
Ich denke im Allgemeinen an den Decorator als "Hinzufügen" zu etwas, wo als Chain of Responsiblity ist mehr wie etwas etwas zu behandeln.
Im Vergleich der beiden Muster (außer Äpfel und Orangen) ist der größte Unterschied die Kette der Verantwortung kann die Kette an jedem Punkt zu töten.
Denken Sie an Dekorateure als eine geschichtete Einheit, in der jede Schicht immer Pre/Post-Verarbeitung. Chain of Responsibility ist mehr wie eine verkettete Liste, und im Allgemeinen behandelt eine Sache die Verarbeitung.
Das "Chain of Responsibility" -Muster ermöglicht die Verarbeitung mehrerer Ereignisse durch mehrere Dinge, bietet ihnen aber auch die Möglichkeit, die Kette zu jedem Zeitpunkt zu beenden.
Kannst du mir irgendein Szenario geben in welchen Situationen für Kette der Verantwortung oder Dekorateur gehen ...? –
@Mind: Wie Nix sagte, Äpfel und Orangen. Schreib stattdessen was du tun sollst und wir können dir von dort helfen. – Marcus
Szenario:
Denken Sie an eine Serviceanfrage (in der Regel Admin Zugang zu Ihrem Laptop), die von Ihrem Manager Director und VP genehmigt werden muss. In diesem Fall würde das Dekorationsmuster so tun, als ob auf jeder Ebene nur Kommentare von jedem von ihnen wären und schließlich würden Sie eine Ausgabe erhalten. Der Manager würde also "Genehmigt und weitergeleitet", "Simplely Director", "Ok genehmigt und weitergeleitet" und schließlich "VP genehmigt" sagen. Und Ihre endgültige Ausgabe wäre die Kombination aller 3 Kommentare.
Hinweis: Die Kette wird nicht brechen, egal, ob Ihre Anfrage genehmigt oder abgelehnt wurde.
In der Kette der Verantwortung, in jeder Phase hat die einzelne Person die Berechtigung zu genehmigen oder abzulehnen. Und wenn die Anfrage auf irgendeiner Ebene abgelehnt wird, geht Ihre Anfrage nicht zur nächsten Ebene, sondern endet nur mit dem Ergebnis. Hoffe, das hilft :)
- 1. Designmuster vs Frameworks
- 2. Verlängerungs-Komponente Dekorateur mit der Basisklasse Dekorateur
- 3. Was macht dieser Dekorateur Dekorateur?
- 4. Ausführen der Kette der Verantwortung Variation
- 5. Wenn Kette vs Ausnahme in Python
- 6. Scala Katalog der funktionalen Designmuster
- 7. Dekorateur nach @task Dekorateur in Sellerie
- 8. Async.js Designmuster
- 9. DAO Designmuster
- 10. Besseres Designmuster?
- 11. Php Designmuster
- 12. MapMaker Designmuster?
- 13. Anwendbares Designmuster
- 14. linq Designmuster
- 15. JavaScript Designmuster
- 16. Erweiterung der Funktionalität der functools.Wraps Dekorateur
- 17. Welches Designmuster für meinen Anwendungsfall?
- 18. Was bedeutet das Prinzip der einheitlichen Verantwortlichkeit für die Validierung
- 19. Prinzip der einfachen Verantwortlichkeit: Granularität des Grundes für die Änderung
- 20. Helfen Sie, das Prinzip der einfachen Verantwortlichkeit zu verstehen
- 21. Auf der Suche nach einem bestimmten Designmuster
- 22. Designmuster zur Erweiterung der Android-Aktivitäten?
- 23. Auf der Suche nach einem Designmuster
- 24. Auf der Suche nach einem kreativen Designmuster
- 25. Designmuster NICHT in der Gang of Four?
- 26. Welches Designmuster ist es? Kann nicht erkennen
- 27. Dekorateur Mit Liste der implementierten Schnittstellen bekommen
- 28. Jquery .theen Verhalten der Kette
- 29. Wie heißt dieses Designmuster?
- 30. Singleton Designmuster in PHP
Ähnliche Diskussionen finden Sie hier: http://stackoverflow.com/questions/747913/why-would-ie-ever-use-a-chain-of-verantwortlichkeit-over-a -decorator – hoymkot