使用小部件标题属性来引用它是不好的做法?

时间:2010-07-28 21:51:14

标签: python user-interface oop

使用小部件标题属性来引用它会被视为不良做法吗?

例如,radioBoxCtrls上有一些自定义panel 我只需要一次获取/设置所有值 所以radioBoxCtrls对象的容器类(面板)具有以下方法

get_options()
set_options()

要为所有radioBoxCtrls设置选项,dictionary传递给set_options()方法。 字典中的每个keyvalue对都是title的{​​{1}}和radioBoxCtrl title的{​​{1}}应该设置

button

当我从我的控制器调用set方法时(试图清楚) 我传了一本字典:

radioBoxCtrl

你为什么要这么做? (你可能会问)

简短回答 mvc

我想创建一个合适的抽象层。我的控制器需要知道的一切 关于选项是如何在需要完成某些处理时将它们传递给模型,以及在加载配置文件时如何设置它们......

我认为如果我可以调用一种方法设置反之亦然会简化操作 - 但我现在不太确定了!


我意识到这对于通过他们拥有的某些字符串属性引用对象的可接受性可能更有问题,在我的情况下恰好是标题..所以随意回答它。

请随时改进问题标题(我不确定如何说出来)并添加标签。

由于

1 个答案:

答案 0 :(得分:2)

我无法分辨大师是否会称之为糟糕。我只是知道我永远不会这样做 - 它更慢,更容易出错,可能会很难改变标题的名称(诚然,只有你到处硬编码)和(可以说)非常不优雅。 至少你应该将te选项与小部件的身份相关联,这仍然有点臭味,但至少有一些问题少。也许应该重构应用程序的整个部分以降低集中度,以便问题完全消失。

编辑如何重构:老实说,我不知道 - 我对应用程序知之甚少。显而易见的方法是对所有小部件进行子类化,并使他们负责以某种方式获取选项并相应地进行更改。但我不知道这是否真的可行。