【发布时间】:2018-05-01 15:13:38
【问题描述】:
我目前正在开发我的第一个大型软件,并且遇到了一个丑陋的情况。到目前为止,我添加的大多数功能都需要一个额外的私有成员才能正常运行。这是因为大多数功能都赋予了用户更多的权力,允许他们通过传递给构造函数的参数或指定他们希望切换的设置的方法来修改我的程序。
我目前有大约 13 个私有变量,并且可以看到这种情况逐渐失控。构造函数代码开始看起来很丑陋。我想知道这是否只是添加功能的结果,或者是否有一种创造性/聪明的方法可以避免这个问题。
【问题讨论】:
-
你能举个例子吗?
-
听起来你正在设计一个god object。你能把功能分成多个更小的类吗?
-
python中没有“私有变量”之类的东西
-
这是设计问题; 13 个私有变量本身并不算多,但这可能表明你的类正在做太多事情,并且可以分解为单独的类,每个类都需要较少的私有状态。
-
@JoranBeasley 让我们假装他写了“
_-prefixed variables 旨在成为实现细节”,然后继续,好吗?
标签: python oop private-members