有多少私有变量太多了?

时间:2018-05-01 15:13:38

标签: python oop private-members

我目前正在制作我的第一个更大规模的软件,并且遇到了一个丑陋的情况。到目前为止,我添加的大多数功能都需要一个额外的私有成员才能正常运行。这是因为大多数功能通过允许用户通过传递给构造函数的参数或指定要切换的设置的方法来修改程序,从而为用户提供了更多的功能。

我目前有大约13个私有变量,并且可以看到这种螺旋式失控。构造函数代码开始变得非常难看。我想知道这是否只是添加功能的结果,或者是否有一种创造性/巧妙的方法来避免这个问题。

1 个答案:

答案 0 :(得分:0)

我建议抽象出“行为”的概念

您有一个基类“行为”,它实际上执行所请求的操作,或管理对行为的修改。然后,您可以使用“参数”和“行为”数组初始化代码。

您的启动代码将成为一个简单的“for”循环,并添加/删除您刚添加或删除到列表中的行为。

当然,艰难的部分实际上是将行为类的活动融入整个程序流程中。但我猜测,关注“单一责任原则”将有助于解决这个问题。