我正在编写一个PyGTK应用程序,并希望得到一些关于如何最佳组织应用程序的建议。基本上,该应用程序将读取特定的文件规范并在GUI中呈现以供编辑。
目前,我有一个parser.py文件,它处理所有低级文件IO和文件解析。我正在使用树形视图显示文件的内容,这意味着我需要使用treestore作为我的数据类型。
我遇到的问题是,我只想到了两种解决方案。第一种是我的解析器可以构建treestore并将其传递给我的UI类。这需要我的解析器依赖于pygtk,并最小化类的潜在重用。第二个是在解析器中存储对我的UI类的引用,这也可能限制我的解析器类作为独立库的重用。
简化我的问题:是否有更符合Pythonic或面向对象友好的方法来实现我的目标?
如果查看我的代码会帮助任何试图回答我的问题的人:https://code.launchpad.net/~blainepace/nbtparser/trunk
欢迎提出其他Pythonic建议,这是我的第一个Python程序,我可能陷入了更C++风格的思维中。我计划进行大量重构。