Si c'est du East, setBroken est acceptable ?!
Dans un contexte précis, la TV doit forcément faire un truc, okay. Je sais ce que je veux, et je te fais confiance pour le faire: c'est applicable aux codes de test? Si oui, alors on a un problème... Si non, okay, ça va, mais cela fait deux paradigmes en fonction du contexte (test vs fonctionnement).
Cette distinction Barman/Policier, pourquoi doit-elle être faite explicitement par un ask*ByBarman et ask*ByPolicier plutôt qu'implicitement par ask* + instanceof? J'aurai plutôt considéré que c'est à la classe appelée de faire, en interne, la distinction entre Policier et Barman, c'est à dire n'avoir qu'une seule méthode ask* et au besoin, un instanceof interne.
D'ailleurs, si le Barman est Policier, comment cela se passe en East? En West, l'appelé prendra sa décision en sachant que c'est un instanceof Policier && instanceof Barman, mais en East? Il faut un ask*ByBothBarmanAndPolicier?
J'ai quand même du mal à assimiler un Je sais ce que je veux, et je te fais confiance pour le faire couplé à Je teste que tu as bien fait ce que je veux. J'essaierai de formuler des exemples précis de situations.
En West, je n'ai touché ni à l'interface de Barman, ni à l'interface de Consumer. Je n'ai fait que modifier le code interne de la méthode giveAlgoholToConsumer. Aucune classe tierce ne sera touchée. Elles ne pourront l'être que si l'interface consumer est éditée pour ajouter getReligion (mais on peut faire sans modifier cette interface, en pur Open/Close)
En East, si j'ai compris, il aurait fallut modifier l'interface consumer pour ajouter askReligionByBarman et modifier l'interface du barman pour ajouter religionGivenByConsumer: beaucoup de classes tierces risquent d'être impactées.
Dans un contexte précis, la TV doit forcément faire un truc, okay. Je sais ce que je veux, et je te fais confiance pour le faire: c'est applicable aux codes de test? Si oui, alors on a un problème... Si non, okay, ça va, mais cela fait deux paradigmes en fonction du contexte (test vs fonctionnement).
Cette distinction Barman/Policier, pourquoi doit-elle être faite explicitement par un ask*ByBarman et ask*ByPolicier plutôt qu'implicitement par ask* + instanceof? J'aurai plutôt considéré que c'est à la classe appelée de faire, en interne, la distinction entre Policier et Barman, c'est à dire n'avoir qu'une seule méthode ask* et au besoin, un instanceof interne.
D'ailleurs, si le Barman est Policier, comment cela se passe en East? En West, l'appelé prendra sa décision en sachant que c'est un instanceof Policier && instanceof Barman, mais en East? Il faut un ask*ByBothBarmanAndPolicier?
J'ai quand même du mal à assimiler un Je sais ce que je veux, et je te fais confiance pour le faire couplé à Je teste que tu as bien fait ce que je veux. J'essaierai de formuler des exemples précis de situations.
En West, je n'ai touché ni à l'interface de Barman, ni à l'interface de Consumer. Je n'ai fait que modifier le code interne de la méthode giveAlgoholToConsumer. Aucune classe tierce ne sera touchée. Elles ne pourront l'être que si l'interface consumer est éditée pour ajouter getReligion (mais on peut faire sans modifier cette interface, en pur Open/Close)
En East, si j'ai compris, il aurait fallut modifier l'interface consumer pour ajouter askReligionByBarman et modifier l'interface du barman pour ajouter religionGivenByConsumer: beaucoup de classes tierces risquent d'être impactées.