Citation :Plus de condition, mon code est bien plus simple à tester et faire évoluer.
Je voudrai bien savoir comment ton code gérerait le cas "Je ne donne de l'or que si c'est un Humain et si ce n'est pas un Kid".
Mieux vaut 1 méthode de 100 lignes que 100 méthodes de 1 quand il s'agit de masquer les décisions internes de la classe.
Si je veux me faire passer pour un autre, avec ma méthode je peux (l'appelant créer juste un KidProxy par exemple et le passe à Conan).
Mais moi aussi je dis avec quel objet je sais travailler. Cela n'a pas de rapport avec comment je vais travailler avec cet objet.
Tu as:
Code :
public askGoldByKid(Kid);
public askGoldByBeggar(Beggar);
public askGoldByFemme(Femme);
Ce que l'appelant veut, c'est juste "askGold", non? Si la classe appelante est un Kid+Beggar+Femme, comment sait-elle ce qu'elle doit appeler?