【发布时间】:2010-10-15 19:41:33
【问题描述】:
我正在用 Python 编写一个游戏,其中所有的 IO 活动都由一个 IO 对象完成(希望可以很容易地将该对象换成另一个实现不同用户界面的对象)。游戏中几乎所有其他对象都需要在某些时候访问 IO 系统(例如打印消息、更新玩家的位置、显示由游戏中动作引起的特殊效果),所以我的问题是:
对全局可用的 IO 对象的引用有意义吗?
另一种方法是将 IO 对象的引用传递到需要使用它的每个对象的 __init__() 中。我知道从测试的角度来看这很好,但这值得由此产生的“函数签名污染”吗?
谢谢。
【问题讨论】:
-
我希望您实际上将您的 IO 对象换成一个为同一接口提供不同实现的对象。 :)
-
是的,我应该更清楚;我用接口这个词来表示用户界面:)
-
@James:请解决您的问题。
标签: python io global-variables