Si tu appel ton getter askPaper() pour pouvoir mettre dedans $this->goAway()
Comment tu règles ce cas là :
Cas 5 : avant de donner mes papiers je veux savoir le matricule du policier.
Même si tu type le retour, tu es dépendant du type de retour vu que ça n'est pas toi qui choisis le retour.
Quand tu passes une interface, toi l'interface tu n'es dépendant de rien c'est toi qui impose comment on te parle, l'autre à pas le choix. Donc FileUploader à aucune dépendance à FileAggregator.
Donc ça t'embête de mettre à jour une interface, mais pas de mettre à jour un type de retour pour qu'il retourne une nouvelle valeur connu nul part .
Cas 1 :
Tu mets à jour ton interface pour y ajouter des trucs, quiconque l'utilisait voit directement au lancement de son programme que c'est cassé.
Cas 2 :
Tu as changé le retour de ton getter pour pouvoir retourner PotDeVin, personne le sait sans regarder l'intérieur de ton code, quelqu'un qui lance son programme et qui ne savait pas que tu avais ajouté le type de retour PotDeVin peut avoir un gros bug dans son programme.
Comment tu règles ce cas là :
Cas 5 : avant de donner mes papiers je veux savoir le matricule du policier.
Même si tu type le retour, tu es dépendant du type de retour vu que ça n'est pas toi qui choisis le retour.
Quand tu passes une interface, toi l'interface tu n'es dépendant de rien c'est toi qui impose comment on te parle, l'autre à pas le choix. Donc FileUploader à aucune dépendance à FileAggregator.
Donc ça t'embête de mettre à jour une interface, mais pas de mettre à jour un type de retour pour qu'il retourne une nouvelle valeur connu nul part .
Cas 1 :
Tu mets à jour ton interface pour y ajouter des trucs, quiconque l'utilisait voit directement au lancement de son programme que c'est cassé.
Cas 2 :
Tu as changé le retour de ton getter pour pouvoir retourner PotDeVin, personne le sait sans regarder l'intérieur de ton code, quelqu'un qui lance son programme et qui ne savait pas que tu avais ajouté le type de retour PotDeVin peut avoir un gros bug dans son programme.