Patrones Ruby on Rails-decorador vs presentador


Últimamente se habla mucho en la comunidad de Ruby on Rails sobre decoradores y presentadores.

¿Cuál es la diferencia esencial entre los dos? Si la hay, ¿cuáles son las pistas que me dicen cuál usar sobre la otra? ¿O quizás usar los dos en conjunción?

Author: keruilin, 2011-10-22

2 answers

Un decorador es más bien un "agreguemos alguna funcionalidad a esta entidad". Un presentador es más bien "construyamos un puente entre el modelo / backend y la vista". El patrón del presentador tiene varias interpretaciones.

Los decoradores son genéricos/de propósito general. Los presentadores tienen una gama más reducida de responsabilidades/usos. Los decoradores se utilizan en todos los dominios, los presentadores casi siempre están relacionados con la funcionalidad similar a la vista.

 94
Author: Dave Newton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-01 15:18:52

Le sugiero que compruebe esto - Exposición vs Presentador.

El decorador es un patrón de diseño que se usa para extender la funcionalidad de un objeto específico envolviéndolo, sin afectar otras instancias de ese objeto. En general, el patrón decorador es un ejemplo del principio open/close (la clase está cerrada para modificaciones, pero disponible para extensiones).

Tanto los patrones de exposición como de presentador son una especie de patrón de decorador.

 31
Author: dpaluy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-18 08:37:40