Je suis en train d'écrire un petit bout de code en Python et je suis curieux de savoir ce que les autres en pensent.
J'ai quelques classes, chacune avec quelques méthodes, et j'essaie de déterminer ce qui est "mieux" : passer les objets par des appels de méthode, ou passer les méthodes par des appels de méthode quand une seule méthode d'un objet est nécessaire. En gros, devrais-je faire ceci :
def do_something(self, x, y, manipulator):
self.my_value = manipulator.process(x, y)
ou ceci
def do_the_same_thing_but_differently(self, x, y, manipulation):
self.my_value = manipulation(x, y)
De mon point de vue, la seconde est sans doute "meilleure" car elle favorise un couplage encore plus lâche/une cohésion plus forte entre la manipulation et l'autre classe. Je suis curieux de voir les arguments pour et contre cette approche pour les cas où une seule méthode est nécessaire pour un objet.
EDITAR: J'ai supprimé la formulation OOP parce qu'elle était clairement dérangeante. Je faisais surtout référence au couplage lâche et à la cohésion élevée.