Python:如何防止作用域中的长变量名
我有这样的东西: self.megacity.resourceloader.sound.mcintro.play 有什么优雅的方法可以防止这样长的东西吗? 也许是某种结构性的改变 谢谢。请查阅以帮助您找到更好的方法来松开程序中组件之间的耦合:Python:如何防止作用域中的长变量名,python,variables,scope,Python,Variables,Scope,我有这样的东西: self.megacity.resourceloader.sound.mcintro.play 有什么优雅的方法可以防止这样长的东西吗? 也许是某种结构性的改变 谢谢。请查阅以帮助您找到更好的方法来松开程序中组件之间的耦合: x = self.megacity.resourceloader.sound.mcintro x.play() 当应用于面向对象程序时,德米特定律可以 更准确地称为“函数/方法的德米特定律” LoD-F。在这种情况下,对象A可以请求服务调用A 对象实例B
x = self.megacity.resourceloader.sound.mcintro
x.play()
当应用于面向对象程序时,德米特定律可以
更准确地称为“函数/方法的德米特定律”
LoD-F。在这种情况下,对象A可以请求服务调用A
对象实例B的方法,但对象A无法通过
对象B访问另一个对象C以请求其服务。
这样做意味着对象A隐含地需要更大的
了解对象B的内部结构。而是B的接口
如有必要,应进行修改,以便直接服务于对象A
请求,并将其传播到任何相关子组件。或者,
A可能直接引用对象C并发出请求
直接到那。如果遵循法律,只有对象B知道自己的规则
内部结构
查找以帮助您找到更好的方法来松开程序中组件之间的耦合:
当应用于面向对象程序时,德米特定律可以
更准确地称为“函数/方法的德米特定律”
LoD-F。在这种情况下,对象A可以请求服务调用A
对象实例B的方法,但对象A无法通过
对象B访问另一个对象C以请求其服务。
这样做意味着对象A隐含地需要更大的
了解对象B的内部结构。而是B的接口
如有必要,应进行修改,以便直接服务于对象A
请求,并将其传播到任何相关子组件。或者,
A可能直接引用对象C并发出请求
直接到那。如果遵循法律,只有对象B知道自己的规则
内部结构
使用以下命令,例如:
使用以下命令,例如:
class SoundPlayer:
def play_megacity(self):
return self.megacity.resourceloader.sound.mcintro.play()