2009-08-13 9 views
5

Est-ce que quelqu'un sait quelques bons exemples pour une application PHP en utilisant 4 suivant « Layers »PHP Patterns - Exemples de Service/Model/Mapper/Dao?

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

Je ne sais pas s'il est logique mais quand j'utilise une telle conception que je dois faire ce qui suit pour créer un nouveau record dans ma base de données:

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

le service est la création d'un nouveau Data Object et le passage dans le Mapper, le mappeur passe les données au Dao fourni ..

w Quelle est l'intention d'utiliser de telles constructions?

Pourquoi ne pas simplement:

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

modèle économise DB.

Répondre

3

Idéalement, le modèle ne doit rien avoir à voir avec la manière dont il est stocké ou géré. Il devrait s'agir d'une représentation pure et portable des données (idéalement, bien souvent, pas dans la pratique). Le contrôleur (ou un sous-contrôleur dédié) doit être celui qui gère cette fonctionnalité pour le modèle.