FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
ORM Object Relational Mapping / MVC
Buenos dias Foristas,
Quiera conocer sus conceptos sobre esta técnica, ejemplos sencillos de ser posible completos uso y programas que están usando para hacerlo, estoy muy interesado en este tema, lo mismo con el MVC Todos sus experiencia sobre el tema es importante tenerla Saludes |
#2
|
||||
|
||||
Eso es como preguntar: Expliquenmen sobre SQL y OO.
ORM & MVC son dos cosas diferentes. Hay toneladas de recursos sobre ambos, asi que en concreto que es lo que quieres? Porque lo unico que podriamos hacer es darte tropocientos links.
__________________
El malabarista. |
#3
|
|||
|
|||
Sobre ORM / MVC
Gracias mamcx por su interes,
Hace algunos años publico en su pagina una idea de centralizar en un solo sitio los componentes de base de datos delphi, exponiendo varias ideas (No volvi a encontrarlo en la web lastima), si no mal recuerdo uno de las frases que uso fue ESTAN EN TODO SITIOS cuando se referia a las querys y consultas SQL esparcido por todo el codigo He tratado de ir centralizando la información de una aplicación que tengo en delphi movimiento querys / sql en un solo sitio al menos recordando su recomendación. Ahora veo la necesidad de efectuar cambios para usar los datos en la web y en móviles y de pronto pasar de firebird a postgresql, no se si un modelo MVC / ORM relacionándolos desde el punto de vista donde el modelo seria solo visto a través de un modelo ORM , Tal como digo no conozco mucho el tema, pero bajo su afirmación de esta respuesta y lo expuesto creo que seria muy interesante ver notas de como ha evolucionado sobre estos puntos Como otro ejemplo tambien he tratado de observar algo de dataabstract de remobject que es otro cuento pero se ve muy interesante |
#4
|
||||
|
||||
Hace poco hubo una discusion sobre el tema en:
"What ORMs have taught me: just learn SQL" https://news.ycombinator.com/item?id=8133835 --- Hay varios tipos de ORM. Es muy practico tener un objeto, y darle .save() para no escribir el UPDATE/INSERT manual y hacer el escape de parametros y todo eso. Pero hay muchos ORM que son mas complejos y terminan complicando mucho las cosas al final. Un ejemplo de una capa quasi-orm bien hecha es SQLAlchemy (core): http://docs.sqlalchemy.org/en/latest/core/tutorial.html Notaras que es muy similar a hacer SQL, solo que con ciertas comodidades para ajustarse a un lenguaje OO (en este caso python). DataAbstract va por este camino. Diseñe un ORM hace un rato para iOS: https://code.google.com/p/chibiorm/ y en el camino he ido haciendo ajustes a la idea. Un problema es que los lenguajes OO tienden a hacer complicado este asunto y Delphi, en especial. Python permite darle vueltas y es facil de hacer algo como sqlAlchemy, pero Delphi es muy rigido!. Ademas, que el modelo "relacional" que implementan las BD actuales es incompleto! Y el puenteo de los lenguajes ademas sufre por ello. Hace poco vi un buen articulo sobre el tema: http://www.try-alf.org/blog/2013-10-...-class-citizen ---- En resumen? Considera la BD tal cual un servidor remoto. Encapsula las llamadas en funciones, no hagas concatenacion de strings para los SQLs, si tienes un engine potente como postgresql abusa de todo lo que tienen (como funciones y procedimientos). Tener algo como sqlalchemy o LINQ (http://www.linqpad.net/whylinqbeatssql.aspx) seria ideal, pero de lo contrario algo como:
__________________
El malabarista. |
#5
|
||||
|
||||
Hola ASAPLTDA,
En Delphi conozco 2 opciones de ORM: Aurelius de TMS y EntityDAC de Devart, ambos se ven muy bien. Aqui (Oct 17, 11am - Introducing TMS Aurelius, a Delphi ORM) un video en donde se muestra el paso a paso de la utilización de Aurelius. De EntityDAC no he encontrado algo similar, aunque la documentación del producto explica en imagenes como se construiría una aplicación. Sobre MVC no tengo nada, y no se si haya algún producto relacionado con Delphi para soportar éste modelo/patrón... Saludos, |
#6
|
|||
|
|||
Hola,
MVC es el Modelo Vista Controlador, un patrón de arquitectura a nivel de software para desarrollar aplicaciones. Que a simple modo, vista contiene la presentación o la interfaz, el modelo es la capa de acceso a datos y el controlador agarra la parte de la lógica. Pero si estás usando tecnologías como ASP.Net y WPF (Windows presentation foundation) te recomiendo usar el patrón MVVM (Modelo Vista Vista Modelo) que te facilita la vida sobre todo para la interacción con el WPF. Saludos cordiales.
__________________
"La información tiene más valor cuando se comparte" |
#7
|
||||
|
||||
Superficialmente y sin probar, el ORM de TMS se ve ok. He usado es DataAbstract y funciona muy bien, asi que es otra alternativa a los que pones.
Para hacer MVC en Delphi no es que se necesite algo especifico, osea, a nivel de lenguaje, es una arquitectura... y se podria decir que "choca" con el modelo RAD de delphi y el codigo spaguetti. Se puede implementar con un poco de disciplina, pero ya que todos los controles/formas de Delphi & terceros asumen el modelo RAD de Delphi es normal que haya encontronasos. Ese es el problema de los lenguajes, no es que no puedan implementar ciertos paradigmas, es que cuando tienen afianzados los propios, implementar otros hace que choquen con los actuales. Para hacer MVC lo que hay que hacer en lenguaje plano es mover al maximo el codigo que de logica de negocios a una clases, lo que sea GUI se deja en el Form/Control y se pone un mediador para comunicar ambos.
__________________
El malabarista. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error mapping failed al abrr consulta | Caminante | Conexión con bases de datos | 0 | 03-11-2013 00:20:10 |
'DBX Error: No Mapping for Error Code Found' | CHECHE81 | Conexión con bases de datos | 1 | 09-06-2010 03:11:35 |
Acceso a un <object></object> | carpato18 | HTML, Javascript y otros | 1 | 22-01-2008 10:18:01 |
Sobre error "Object reference not set to an instance of an object" | fer21unmsm | .NET | 2 | 11-05-2007 22:56:46 |
Could not find object | Raptor | API de Windows | 3 | 19-01-2004 19:11:55 |
|