Publié par : Sébastien Devaux | 18/07/2009

Projet PHP & qualité

PHP permet de développer très rapidement quelque chose mais souvent n’importe comment. Ayant à faire le compromis entre la flexibilité et la qualité, nous avons choisi les deux ! Grâce à quelques paradigmes, MVC et GRASP et un framework, Symfony.
Nous utilisons comme langage (ou “méta-modèle”) UML depuis le commencement pour traduire nos besoins et tous nous comprendre. Les choix ci-dessous se prêtent particulièrement bien au jeux.

Architecture MVC

Notre architecture logicielle et méthode de conception.
MVC comme Modèle-Vue-Contrôleur. Wikipedia (un idiome ;-)

GRASP Patterns

Les 5 patterns GRASP (Expert, Créateur, Contrôleur, Faible couplage, Forte cohésion) sont particulièrement utiles dans une architecture MVC pour identifier les responsabilités des classes Model, Control et View, notamment par les patterns Expert et Contrôleur. NB : les patterns Faible couplage et Forte cohésion sont deux des trois métriques de mesure de la qualité de conception.

Symfony

Symfony est un framework écrit en PHP 5 pour pondre du code.
Les gros bénéfices pour nous :

  • Le code est séparé dans les trois couches de notre bon vieux modèle MVC
  • Il crée une bonne partie du code des trois couches à partir du schéma YML de notre base de données, on gagne ainsi beaucoup de temps en évitant de coder beaucoup de code récurrent et répétitif, surtout dans notre architecture MVC où l’on doit se coltiner toutes les classes métiers de la couche Modèle (squelettes des classes, assesseurs, mutateurs, etc.) avec tous les insertions/suppressions/modifications des données métiers situées dans la base de données.
Maintenant notre cri de guerre : Yapuka !

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Gravatar
Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Twitter picture

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Connexion à %s

Catégories

Suivre

Get every new post delivered to your Inbox.