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