Я пишу небольшой кусочек кода на 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)
Как я вижу, второй, возможно, «лучше», потому что он способствует еще более слабому сцеплению / более сильному сцеплениюмежду манипуляцией и другим классом.Мне любопытно увидеть некоторые аргументы за и против этого подхода для случаев, когда от объекта требуется только один метод.
РЕДАКТИРОВАТЬ: Я удалил формулировку ООП, потому что она явно огорчает,В основном я имел в виду слабую связь и высокую сплоченность.