ruby on rails - software - DataMapper vs ActiveRecord en Rails 3
ruby on rails website (2)
Tengo curiosidad sobre lo que ustedes piensan acerca de DataMapper y qué beneficios trae sobre el nuevo y mejorado ActiveRecord en Rails 3.
Aprecio tus opiniones
Prefiero DM a AR. Siento que DM es realmente un ORM mientras que AR es solo un envoltorio alrededor de SQL. DM hace que sea muy fácil cambiar de almacén de datos. La sintaxis de consulta de DM es mucho más homogénea, etc. SEL (carga de impaciencia estratégica) también hace que DM se parezca más a una tienda de objetos que AR.
Además, las clases de DM definen las propiedades por adelantado y hacen que el código sea mucho más legible. Nunca me he perdido migraciones después de venir al mundo DM. (a pesar de que puede tenerlos si realmente lo desea). Con rails 3, estoy casi exclusivamente usando DM.
Usé Active Record en Rails 2 y DataMapper en Merb and Rails 3-ahora uso DM / Rails 3 diariamente. He leído en AR3 pero solo lo uso en un pequeño proyecto (una aplicación interna).
He descubierto que la única diferencia que realmente me importa es la carga de ansiedad estratégica de DM. Rara vez hace lo que uno esperaría y lo que hace, lo correcto y lo incorrecto, lo hace con FM.
Con la carga ansiosa explícita en AR , no cabe duda de lo que debería estar ocurriendo: dice lo que hace y (generalmente) hace lo que dice.
Si bien la carga ansiosa "automática" suena bien, creo que tiene dos resultados negativos para mí:
- cantidades no insignificantes de tiempo dedicado a buscar fuentes de consultas excesivas
- El código está plagado de piratas de carga pseudo ansiosos donde las relaciones se materializan y descartan solo para imprimirlas y el mapa de identidad de forma que ocasionalmente no se "pegan" y nunca se auto-documentan.
De lo contrario, encuentro que AR y DM son las mismas bestias con diferentes puntos. A diferencia de decir, Sequel .