我正在用 Python 编写一小段代码,很好奇其他人对此有何看法。
我有几个类,每个类都有几个方法,并且试图确定什么是“更好”:通过方法调用传递对象,或者在只需要来自对象的一个方法时通过方法调用传递方法。基本上,我应该这样做:
def do_something(self, x, y, manipulator):
self.my_value = manipulator.process(x, y)
或这个
def do_the_same_thing_but_differently(self, x, y, manipulation):
self.my_value = manipulation(x, y)
在我看来,第二个可以说是“更好”,因为它促进了操作和其他类之间更松散的耦合/更强的凝聚力。对于对象只需要一个方法的情况,我很想看到一些支持和反对这种方法的论据。
编辑:我删除了 OOP 措辞,因为它显然令人不安。我主要指的是松散耦合和高内聚。