Come la catena di pattern di responsabilità differisce dal pattern decoratore ..?Design Patterns of Resposibility Vs Decorator
risposta
Generalmente penso al Decoratore come "aggiungere" a qualche cosa, dove come Catena di Responsabilità è più come gestire qualcosa.
Nel confrontare i due modelli (oltre ad essere mele e arance) la più grande differenza è che la catena di responsabilità può uccidere la catena in qualsiasi punto.
Pensa ai decoratori come un'unità stratificata in cui ogni livello esegue sempre la pre/post elaborazione. Chain of Responsibility è più simile a una lista collegata, e generalmente 1 cosa gestisce l'elaborazione.
Il pattern Chain of Responsibility consente a più cose di gestire un evento, ma offre anche la possibilità di interrompere la catena in qualsiasi momento.
potete darmi qualsiasi scenario in quali situazioni vanno per la catena di responsabilità o di Decorator ...? –
@Mind: Come Nix ha detto, le mele e le arance. Invece scrivere quello che si suppone di fare e siamo in grado di aiutare da lì. – Marcus
Scenario:
Pensate a una richiesta di servizio (accesso tipicamente amministratore a un computer portatile), che deve essere approvato dal vostro gestore, direttore e VP. In questo caso, il pattern Decorator agirà come se ad ogni livello ci fossero solo commenti da ciascuno di essi e alla fine si otterrebbe un risultato. Quindi, Manager direbbe "Approvato e inoltrato", Simlarly Director "Ok Approved and forwarded" e infine VP "Approved". E il risultato finale sarebbe la combinazione di tutti e 3 i commenti.
Nota: la catena non si spezzerà, indipendentemente dal fatto che la richiesta sia stata approvata o non approvata.
nella catena delle responsabilità, in ogni fase della singola persona ha l'autorità di approvare o respingere. E se a qualsiasi livello la richiesta viene respinta, quindi la richiesta non procede al livello successivo, invece appena termina con il risultato. Spero che questo aiuti :)
- 1. Design Patterns
- 2. Design Patterns e Scala
- 3. Design Patterns Used in CakePHP
- 4. Design Patterns Tutorial video
- 5. Vaadin: Design patterns
- 6. JBoss Seam Design Patterns?
- 7. Design Patterns - Strategy Pattern
- 8. Decorator Pattern design
- 9. Decorator Design Pattern
- 10. rimaneggiamento dell'attività: Software Design Patterns
- 11. Design Patterns for Delphi 2009
- 12. Chiamate API multiple: Design Patterns
- 13. Design Patterns Recommendation for Filtering Option
- 14. decorator module vs functools.wraps
- 15. Design Patterns for a Rails 3.2 JS-heavy App
- 16. Patterns JavaScript design aiuto necessario: Aumento allentato dei moduli
- 17. C#: Bad design of class (first OOP)
- 18. Design of Experiments (DoE) in Python?
- 19. Ponte vs. adattatore Design Pattern
- 20. "if" vs OO design
- 21. wget Vs urlretrieve of python
- 22. Scelta bootstrap vs material design
- 23. design pattern: Composite vs Composizione
- 24. Perché "Design Patterns" dice "due oggetti dello stesso tipo devono solo condividere parte delle loro interfacce"?
- 25. Decorator in Java
- 26. Come si chiama quando le persone cercano di abusare di Design Patterns?
- 27. Modelli di Ruby on Rails - decorator vs presenter
- 28. Type Inference in Patterns
- 29. Facciata o Decorator
- 30. Uso della classe Decorator astratta nel pattern Decorator
Discussione simile può essere trovato qui: http://stackoverflow.com/questions/747913/why-would-i-ever-use-a-chain-of-responsibility-over-a -decorator – hoymkot