Ver Mensaje Individual
  #2  
Antiguo 16-06-2015
Avatar de mamcx
mamcx mamcx is online now
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.917
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Felicitaciones, te has topado con uno de los temas mas interesantes de la OO.

En resumen?

La OO y el modelo relacional SON INCOMPATIBLES y por lo tanto NO SE PUEDE RECONCILIAR DE FORMA OPTIMA.

Esto se conoce como el "Impedance Mismatch"

https://en.wikipedia.org/wiki/Object...dance_mismatch

O como "El vietnam de la computacion"

http://blogs.tedneward.com/2006/06/2...r+Science.aspx

Hay 3 modelos dominantes en la programacion:

- Orientado a Objetos
- Funcional
- Relacional

Y todos tienen mismatch entre si! Osea, que en lo "facil" no se ve el problema pero en la medida que empiezas a los detalles ves que hay cosas que en un modelo son mas faciles que en el otro. Eso se llama "El problema de la expresividad":

https://en.wikipedia.org/wiki/Expression_problem
------

Importante: No hay forma de hacer un ORM que sea realmente bueno y compatible con un RDBMS, solo de forma "superficial". Cualquiera que crea o diga lo contrario lo hace en una posicion de ignorancia.

---
La forma de resolverlo? Es NO LUCHAR CONTRA EL.

Usa OO para resolver problemas OO, Funcional para funcional y relacional para relacional. Es lo mas simple, facil y descomplicado (que se traduce en terminos practicos: "Chico, tienes SQL, usalo!")
__________________
El malabarista.
Responder Con Cita