当我们可以直接向方法添加依赖项时,创建组件并通过它们委托行为的原因是什么?对我来说,后者似乎为改变现有对象的行为打开了大门,从而创建了更松散的耦合?你知道吗
组成/授权:
class Human:
def __init__(self, legs):
self._legs = legs
def run(self):
self._legs.run()
def walk(self):
self._legs.run()
直接向方法注入依赖项:
class Human:
def run(self, legs):
legs.run()
def walk(self, legs):
legs.walk()
告诉我,我为什么要费心写作文呢?你知道吗
只有当作文有目的时,你才应该使用它。在您的示例中,它没有任何作用,因为您可以直接调用
legs
上的方法,而不必为Human
费心。你知道吗扩展您的示例,如果每个
Human
实例都有自己不同的legs
实例,那么组合就有意义了。在这种情况下,您需要跟踪哪个legs
属于哪个Human
,第一个示例解决了这个问题。你知道吗相关问题 更多 >
编程相关推荐