Soy relativamente nuevo en el mundo del desarrollo de software. Actualmente estoy en un proyecto, que es bastante grande, y es un código de OO decente, en su mayoría siguiendo los principios de diseño impulsado por el dominio. Sin embargo, a menudo mientras esto suena genial en teoría, prácticamente toda la Impedancia Relacional de Objetos es bastante mala, y significa que algunas partes del sistema son bastante lentas usando solo la capa ORM, a menos que escribamos consultas SQL optimizadas para cubrir esos casos. Además, a veces parece que estamos atascados tratando de ver si debemos modelar el dominio en función del desempeño de SQL frente a los principios de OO.Aplicaciones enriquecidas de dominio sin ORM
Esto me hace preguntar esto: ¿así se construyen la mayoría de las aplicaciones? Es decir, sí, OO está bien y bien, pero me resulta difícil creer que con todos los problemas asociados con este Desajuste relacional de objetos, ¿es esta la mejor manera de crear aplicaciones? El enfoque alternativo en el que puedo pensar es eliminar los ORM y simplemente tener un modelado de dominio, y escribir consultas SQL nativas directamente de forma uniforme. Me gustaría saber si en realidad hay sistemas de software de tamaño suficiente construidos de esta manera.
Lo siento si sueno n00bish, pero soy nuevo y me gustaría saber qué otros enfoques existen.
+1 por hecho de que las operaciones de una sola fila son más o menos las mismas, y el comentario que absolutamente nunca escucho, y comencé a pensar que era la única persona que lo creía, que cualquier código que pudiera generarse debería generarse. Sin embargo, no estoy de acuerdo en que el código generado por ORM también funcione, generalmente debido a los diseños de tabla bletcherous que se obtiene al modelar las ideas de OO en lugar de relacionales. Pero todavía vale la pena +1 –
+1 para la declaración "cualquier código que se pueda generar debe ser generado". Tal vez sufijo con "bien" - es decir, no solo genere código, genere _good_ código. Pero el principio se mantiene. – sfinnie
@Ken Downs, eso sería un problema con el diseño, y no con el propio ORM. Pero entiendo tu punto, y estoy totalmente de acuerdo. – Ronnis