31,014
edits
No edit summary |
|||
| Line 185: | Line 185: | ||
Existen 3 tipos de conexiones: | Existen 3 tipos de conexiones: | ||
* Data Gateway a tablas y filas | * '''Data Gateway a tablas y filas''' | ||
Es el más simple. Creamos una tabla por clase y cada clase es un puente con la tabla correspondiente, ver una clase por línea tabla. Una instancia de la clase será pues un registro de la tabla. La clase contiene sólo el código de acceso a líneas o columnas de tablas. | Es el más simple. Creamos una tabla por clase y cada clase es un puente con la tabla correspondiente, ver una clase por línea tabla. Una instancia de la clase será pues un registro de la tabla. La clase contiene sólo el código de acceso a líneas o columnas de tablas. | ||
Ejemplo: Es el método utilizado al utilizar ciertos Frameworks de ORM como '''iBatis''' (http://ibatis.apache.org/). | Ejemplo: Es el método utilizado al utilizar ciertos Frameworks de ORM como '''iBatis''' (http://ibatis.apache.org/). | ||
* El Active Record | * El '''Active Record''' | ||
Idéntico al anterior, pero podemos añadir algunas funciones de negociado en la clase, siempre que estas funciones sean exclusivas de la tabla o la grabación. | Idéntico al anterior, pero podemos añadir algunas funciones de negociado en la clase, siempre que estas funciones sean exclusivas de la tabla o la grabación. | ||
Ejemplo: Es el método utilizado por los desarrollos de Dolibarr y por otras muchas aplicaciones en PHP que disponen de su propio propio framework y prácticas de desarrollo. | Ejemplo: Es el método utilizado por los desarrollos de Dolibarr y por otras muchas aplicaciones en PHP que disponen de su propio propio framework y prácticas de desarrollo. | ||
* El Data Mapper | * El '''Data Mapper''' | ||
Las clases representan las entidades del problema y no los datos. Por lo tanto hay que doblar, triplicar... estas clases con clases de mapeo para acceder a los datos. | Las clases representan las entidades del problema y no los datos. Por lo tanto hay que doblar, triplicar... estas clases con clases de mapeo para acceder a los datos. | ||
Más "purista" en el papel ya que el negociado está más cercano, este método también tiene la desventaja de ser más complejo en la práctica. | Más "purista" en el papel ya que el negociado está más cercano, este método también tiene la desventaja de ser más complejo en la práctica. | ||