2009/10/4 Nicolás Sanguinetti <[email protected]>: > 2009/10/4 Pablo Herrero <[email protected]>: >> >> El 3 de octubre de 2009 18:22, NachoKB <[email protected]> escribió: >>> >>> De hecho, si tenés múltiples modelos que comparten comportamiento... ¿no >>> podrías usar herencia? >> >> Venia a decir exactamente eso, ademas, me parece q este problema en >> particular tiene poco q ver con ActiveRecord. > > Ta, el tema de la herencia vs composición es fácil. > > El comportamiento que comparten, es *el único comportamiento* de la > clase? En ese caso podés usar herencia. Si la clase hace algo más, > entonces composición, o el Señor Single Responsability Principle se > pone triste.
Que interesante que comentes esto... siempre tengo una vocesita en el fondo de mi mente que me dice que una subclase de activerecord no debería contener lógica de negocios... Una instancia de ActiveRecord representa en realidad una fila de una tabla no? Su única responsabilidad debería ser encontrar cosas guardadas en la db, instanciar las filas, y guardar las modificaciones. La alternativa seria usar clases ActiveRecord solo para todo lo que tenga que ver con persistencia, y otras clases diferentes para la lógica de negocios (analizando si es sible que *no* sea 1ARecord:1BusinessModel). En fin, hasta que se me ocurra una alternativa (y/o razones más contundentes para no hacerlo), lo mas seguro es que siga metiendo mi lógica de negocios en subclases de ActiveRecord::Base. > >> _______________________________________________ >> Ruby mailing list >> [email protected] >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> >> > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > -- -------------------------------------------------------------- EmmanuelOga.com - Software Developer _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
