08-02-2015, 11:35 PM
@Xenos
C'est en fait une implémentation du Service Locator Pattern, un mécanisme d'injection de dépendances et d'inversion de contrôle. C'est une très bonne pratique.
Mais en plus, une façade te permet de meilleurs tests unitaires car l'objet représentant le Service Locator n'est pas directement appelé, cela te donne un endroit pour placer tes mocks.
Une variable globale n'est pas protégée car tu peux la redéfinir par exemple.
Une fonction globale, en fait c'est exactement ça. Tout simplement, tu n'as qu'à imaginer que
C'est en fait une implémentation du Service Locator Pattern, un mécanisme d'injection de dépendances et d'inversion de contrôle. C'est une très bonne pratique.
Mais en plus, une façade te permet de meilleurs tests unitaires car l'objet représentant le Service Locator n'est pas directement appelé, cela te donne un endroit pour placer tes mocks.
Une variable globale n'est pas protégée car tu peux la redéfinir par exemple.
$curTown = null;
.Une fonction globale, en fait c'est exactement ça. Tout simplement, tu n'as qu'à imaginer que
CurrTown::
correspond à getCurrTown()
. Et le paamayim nekodutayim inclus remplace les parenthèses. Ensuite le choix de l'un ou de l'autre dépend surtout du style.