Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-06-2011 13:15:26

beobes
Membre
Date d'inscription: 12-06-2011
Messages: 15

Comment organiser mes controlleurs et mes actions ?

Bonjour à tous !

Je suis à mes tous débuts avec Zend Framework. Et, je vais m'en servir pour un projet assez conséquent.

Je me demande un peu comment je vais/dois "découper" mon application en contrôleurs et actions. C'est un gros projets et j'ai le temps pour le faire. Je ne demande évidemment pas qu'on fasse le boulot à ma place mais toutes aides, remarques, pistes, suggestions seront les bienvenues !

Description du projet :
- encodage, édition (mise à jour) de futurs clients potentiels d'un entreprise
- une "fiche" client est composée de nombreuses informations qui se trouvent réparties dans une vingtaine de tables dans ma base de données
- je dois pouvoir éditer les infos des différentes tables séparément MAIS je dois aussi pouvoir éditer l'ensemble des infos de toutes les tables
- je dois permettre aux commerciaux (qui gèrent les fiches) d'avoir des affichages personnalisés des clients

Est-ce que je dois faire deux actions (ajouter, éditer) pour chaque table ? Plus des actions pour éditer l'ensemble de la fiche, ...
Est-ce qu'il n'y aurait qu'un contrôleurs "fiche" pour la gestion des fiches ? (Plus contrôleur authentification, ...

Voili, voili... toute aide sera la bienvenue !

(°-°)

Hors ligne

 

#2 12-06-2011 13:52:28

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Comment organiser mes controlleurs et mes actions ?

Bonjour

réfléchir au grands domaines fonctionnel de ton application.

ces grand domaines vont te donner un premier découpage. l'idée à ce niveau est d'essayer de trouver des domaine fonctionnels convexe avec le moins d'adhérence fonctionnelle avec ses voisins.

ainsi une gestion de stock est un sous ensemble fonctionnellement indépendant de la vente même si les deux ont un adhérence. mais ce lien est un lien faible on peut ventre que des produits référencés

ensuite dans les domaine fonctionnel tu vas pouvoir trouver des regroupement fonctionnels qui eux aussi sont convexes. comme l'approvisionnement, le stockage, la livraison etc.
et dans ces regroupement tu fais l'inventaire des actions permettant de réaliser le processus métiers concerné.

passer une commande fournisseur, réceptionner un arrivage etc.

Ainsi tu as définis des modules, des contrôleurs et leurs actions. il faut penser cela d'un point de vu métier et pas du tout technique.

l'étape suivante consiste à faire un inventaire des objets métier manipulé un espace de stockage, une livraison une commande etc.
là encore il ne faut surtout pas penser technique mais métier. il ne faut surtout pas penser au processus qui vont utiliser ces objets mais chercher juste à les inventorier. il faut faire attention à ne pas descendre dans la technique. et rester fonctionnel. une commande pour un vendeur n'est pas la même chose qu'une commande pour un gestionnaire de stock.

lorsque cela est fait c'est de la définition de donnée dont il s'agit. à cette étape il faut chercher à modéliser ces objets leurs dépendance leur héritage etc.

ensuite pour chaque classe d'objet il faut les mettre en relation avec les processus métier.
certain objet ne seront utilisé que par un seul contrôleur, d'autre par des contrôleurs d'un même module. et enfin d'autre encore par plusieurs modules.

à ce moment là tu as une visions de la complexité de ta conception. si tes objets sont en grands nombres transverse à tous les modules où à plusieurs il y a peut-être un meilleur découpage de à avoir.
Il faut faire attention de ne pas pousser à l'inverse vers une objet métier un contrôleur, un module. car alors tes processus métier seraient difficile à maintenir et faire évoluer.

lorsque tu as donc associé tes objets au processus tu vas pouvoir choisir si tu mets un objet métier au niveau application (transverse) ou d'un module.

enfin tu peux une fois se travail terminé réfléchir à des éléments qui sont dans ton application mais qui pourraient
être aussi utilisé dans d'autres applications de l'entreprise. cela permet d'identifier des modules plus transverse qui seront utilisé ailleurs dans de futur développement.

ces modules ont toujours les même caractéristiques. ils sont réutilisable, totalement connexes (autonomes), sans aucune adhérence propre. c'est a dire que d'autre module peuvent faire appel à ses processus ou objets mais eux ne font appel à aucun autre module.

A+JYT

Hors ligne

 

#3 13-06-2011 14:02:02

beobes
Membre
Date d'inscription: 12-06-2011
Messages: 15

Re: Comment organiser mes controlleurs et mes actions ?

Merci pour la réponse.
Je vais m'atteler à une meilleure analyse de l'application et je reviendrai si j'ai des questions plus précises.
(°-°)

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