153 | | = B) Dictionnaire de BDD = |
| 154 | = B) Techniques de Programmation = |
| 155 | |
| 156 | == B.1) Constructeur pré-conditionné == |
| 157 | |
| 158 | Avant de créer un nouveau BDD, il est nécessaire de vérifier s'il n'existe pas déja. Cela |
| 159 | ne peut pas être fait ''dans'' le constructeur puisque si nous sommes dans cette fonction, |
| 160 | c'est que l'objet est ''déjà'' en cours de construction. |
| 161 | |
| 162 | Pour résoudre ce problème on adopte l'architecture suivante: |
| 163 | |
| 164 | * Le constructeur est rendu ''privé''. Ce qui inderdit son utilisation, sauf par des |
| 165 | fonctions membre de la classe. |
| 166 | |
| 167 | * On ajoute une fonction membre statique {{{Bdd::create()}}} qui va jouer le rôle du |
| 168 | constructeur. Comme elle est membre de la classe, elle a le droit d'appeler le |
| 169 | constructeur. Et comme elle est {{{static}}} elle n'est pas attachée à un objet de la |
| 170 | classe. Dans cette fonction on peut donc effectuer les vérifications (est-ce que le BDD |
| 171 | existe déjà?) puis créer ou non un nouvel objet. |
| 172 | |
| 173 | |
| 174 | == B.2) Dictionnaire de BDD == |
| 175 | |