Tengo una duda:
¿Cuándo he de usar callbacks y cuando observers?
Tengo una duda:
¿Cuándo he de usar callbacks y cuando observers?
Carlos Belizón wrote:
Tengo una duda:
¿Cuándo he de usar callbacks y cuando observers?
hay un caso claro. Si la lógica del callback aplica a varios modelos,
entonces lo pondrÃas en un observer.
Para el resto de casos, yo soy partidario de poner como callback todo lo
que esta directamente relacionado con la lógica de negocio del modelo, y
en un observer lo que está ahà de forma más o menos accidental y que
sólo añade ruido.
Por ejemplo, si cada vez que se crea un usuario tienes que generar un
token único para alguna funcionalidad, yo eso lo pondrÃa como callback
en el propio modelo. Pero si cuando se modifica un usuario tienes que
expirar una caché o tienes que guardar unas estadÃsticas, entonces lo
pondrÃa en un observer.
El único trade-off de los observers es que en modo development son
lentos. En cada request se hace una carga de todos los observers y en
algún proyecto donde tengo muchos (caché y envÃo de mails/notificaciones
principalmente) se acaba notando en modo development. En modo producción
no se realiza una carga por request, asà que no tienes ese problema.
Al final trato los observers como elementos que me permiten añadirle
comportamiento extra a una clase, pero que realmente no son parte de su
lógica interna.
Dicho esto, seguro que hay opiniones que difieren de la mÃa
saludos,
j
–
javier ramÃrez
…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs