Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 30-10-2012 09:13:49

tagazok
Nouveau membre
Date d'inscription: 29-10-2012
Messages: 9

Peut-on se passer des models ?

Bonjour,

Je développe actuellement une API pour mon site web et je me posais une petite question.
J'utilise à l'heure actuelle TableGateway pour récupérer mes objets dans mes mappers.

Vu que globalement je récupère des informaions en base de donnée et les renvoies en json, ne serait-il pas plus"optimisé" de ne pas construire les objets et de récupérer directement des tableaux depuis mes mappers pour construire le json?
A l'heure actuelle je récupère les infos en base, crée l'objet, le renvoi au controller qui crée le json. J'ai donc l'impression que l'étape "transformation en objet" ne sert pas à grand chose.

Hors ligne

 

#2 30-10-2012 11:43:38

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

Re: Peut-on se passer des models ?

Ta question m'étonne un peu. Elle sous-entend que tu ne fais que lire et restituer le contenu d'une base et donc que tu n'as pas de couche métier ou alors que tu es passé à côté du concept de POO.


22914720

Hors ligne

 

#3 30-10-2012 12:29:46

tagazok
Nouveau membre
Date d'inscription: 29-10-2012
Messages: 9

Re: Peut-on se passer des models ?

Sisi, j'ai une couche métier, elle se trouve dans mon controller.
Cependant, dans 90% des cas je peux faire ces opérations sur des tableaux, je n'ai pas besoin que mon mapper me renvoi un objet

Hors ligne

 

#4 30-10-2012 19:40:39

Bouks
Membre
Lieu: Paris
Date d'inscription: 31-08-2012
Messages: 241

Re: Peut-on se passer des models ?

"Sisi, j'ai une couche métier, elle se trouve dans mon controller". On dira qu'on a rien entendu.

Bon.

Si tu fais de la POO, tout est objet.
C'est toi seul qui t'impose des "transformations".
Abandonne les tableaux (à ne pas prendre au pied de la lettre smile).


22914720

Hors ligne

 

#5 31-10-2012 09:38:05

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: Peut-on se passer des models ?

Je plussoie Bouks. Honnêtement ce n'est pas cette étape de transformation qui va impacter en performance. Surtout que le fait de transformer de permet d'effectuer une logique métier (par exemple, imagine que tu souhaites effectuer une opération de cryptage/décryptage dans ta couche métier).

Hors ligne

 

#6 11-12-2012 14:51:41

RomainB
Membre
Lieu: Montpellier
Date d'inscription: 30-11-2012
Messages: 12
Site web

Re: Peut-on se passer des models ?

tagazok a écrit:

Sisi, j'ai une couche métier, elle se trouve dans mon controller.

Moi j'ai entendu :-)

C'est "mal": Le controller, en principe, ne doit pas contenir la logique métier.

Pourquoi sortir la logique métier des controllers? Tout simplement car il est possible que tu fasses des copier-coller de différents bouts de code métier dans tes actions. Si tu dois faire une modification sur ce bout de code métier, il te faudra le modifier à tous les endroits où tu as copier ce code...pas évident pour la maintenance :-)

Maintenant, ca va tu penseras à tout modifier, mais dans 6mois/1an, c'est pas certain.

Hors ligne

 

#7 11-12-2012 17:03:31

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Peut-on se passer des models ?

En fait c'est pas la seule chose. Dissocier les couches ça permet de pouvoir changer facilement des morceaux de code sans avoir à tout refaire de bout en bout. Comme par exemple retoucher uniquement la couche DAO : on souhaite pour X ou Y raison passer d'une base de données Mysql à SQL Server ou à une base LDAP. Il n'y aura à toucher uniquement à la couche DAO ou service mais pas la couche "contrôleur"

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages