2009-08-13 15 views
5

¿Alguien sabe algunos buenos ejemplos para una aplicación PHP utilizando siguientes 4 "Capas"Patrones PHP - Ejemplos de servicio/modelo/mapper/Dao?

ServiceLayer --> Model --> DataMapper --> DAO

No estoy seguro de si tiene sentido pero cuando se utiliza un diseño tal que tengo que hacer lo siguiente para crear un nuevo registro en mi base de datos:

$servcie = new Service(new Mapper(new Dao)); 
$service->save($data) 

el servicio es la creación de un nuevo objeto de datos y su transmisión en el aplicador, el Mapper es pasar los datos a la proporcionada Dao ..

w ¿Cuál es la intención de usar tales construcciones?

Por qué no simplemente:

$model = new Model(); 
$model->save($data) 

Modelo está salvando a DB.

Respuesta

3

Lo ideal es que el modelo no tenga nada que ver con la forma en que se almacena o administra. Debe ser una representación pura y portátil de los datos (idealmente, aunque a menudo no es así en la práctica). El controlador (o un subcontrolador dedicado) debe ser el que maneje esta funcionalidad para el modelo.

Cuestiones relacionadas