TUTORIEL PHP 
PHP : les design patterns Singleton et Factory
Les design patterns sont une source de solutions fiables et reconnues aux problèmes courants du développement Objet. Explications de deux des patterns fondamentaux, avec code source en PHP. (14/04/2006)
<< 1. Présention et modèle Singleton
2. Méthode Factory

Factory (Fabrique ou Usine)
Factory est un autre de ces modèles fondamentaux, élaborés par les défricheurs de modèles, les auteurs du Gang of Four ; ce n'est pas réellement un modèle tel qu'on les conçoit normalement, mais plutôt une méthode. Il fait cependant partie des modèles du GoF.

Son intention est de faciliter la création d'objet : elle autorise la création d'objets sans devoir spécifier la classe de l'objet à créer. Cette méthode crée un objet spécial, auquel est déléguée l'instanciation d'objets. En quelque sorte, le programme se reposera sur les classes de la méthode Factory, pour créer de nouveaux objets à sa place.

La méthode Factory vise donc à instancier des objets selon certains arguments, en dissimulant les détails de cette instanciation. L'exemple canonique concerne le chargement de pilotes de bases de données. L'objectif est d'instancier la classe Driver_MySQL ou Driver_SQLite, selon le cas. La méthode Factory propose donc de passer par la méthode générique présentée ici.
  1. <?php
  2. class MaClasse {
  3.   public static function chargerDriver($driver) {
  4.     if (include_once 'Drivers/' . $driver . '.php') {
  5.       $nomDeClasse = 'Driver_' . $driver;
  6.     return new $nomDeClasse;
  7.     } else {
  8.       throw new Exception ('Driver non trouvé');
  9.       }
  10.     }
  11.   }
  12. $mysql = MaClasse::chargerDriver('MySQL');
  13. $sqlite = MaClasse::chargerDriver('SQLite');
  14. ?>
Il s'agit de l'une des formes les plus simples que peut prendre ce modèle.

  Forum

Réagissez dans les forums de JDN Développeurs

Comme vous pouvez le constater, les modèles de conception ne sont pas forcément de grandes solutions magiques à des problèmes insolubles, mais au contraire une mise à plat des pratiques les plus éprouvées du développement Objet. La plupart sont plus complexes que les deux que nous présentons ici, et les connaître tous amène à mieux penser et planifier son code.

<< 1. Présention et modèle Singleton
2. Méthode Factory
 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages