在编写 GUI 时(通常使用 Python 和 PyQt4),我尝试整齐地组织我的代码,我经常面临同样的问题:
我的代码中的不可见对象(数据)应如何与其可见的小部件对应物(图形表示)相关联?
例如,假设我有一个语言词典中的条目列表。每个条目都是具有各种属性和功能的抽象数据对象。每个条目还以图形方式表示为用户可以与之交互的小部件。
我相信有四种可能的组织方式:
- 小部件对象是数据对象的子对象;
- 数据对象是小部件对象的子对象;
- 小部件对象和数据项合并为一个对象(数据是小部件的属性);
- 小部件对象和数据对象分开存在,后者被馈入前者(例如作为*args)
现在我不确定在这方面是否有一些传统的协议,我也不确定这些可能的安排是否真的会产生影响。
最佳做法是什么?