| 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 | |