Python - 单独的程序逻辑和GUI代码?

Sam*_*lor 14 python pygtk

将程序逻辑分离到GUI代码的最佳方法是什么?

我想要使​​用相同程序逻辑的不同GUI(GTK,KDE,CLI)代码.

我正在考虑使用不同的python模块(winecellar-common,winecellar-gtk,winecellar-cli),不知道我将如何做到这一点,如果它是最好的方式.

*已编辑*

只是在我的问题中添加什么是组织项目文件结构和使用不同模块构建平台的最佳方法.请记住它主要用于Ubuntu.

Raf*_*ler 12

在一个模块中为您的业务逻辑定义函数或类,并在另一个模块中定义您的演示文稿,使用这些函数来获取演示文稿.您几乎应该完全使用GUI模块中主模块的函数和类.您应该为CLI执行相同的操作.这样,您可以使用不同的接口使用不同的发行版,而不必为每个发行版创建不同的"逻辑"文件.

基本上,你有正确的想法.只需将它们保持为独立,以便a.)您可以轻松支持多个接口,并且b.)您可以轻松地更改接口.

  • 对此的补充:您希望避免我认为的"VB程序员"失败,其中业务逻辑与GUI控件相关联.只需确保几乎所有的GUI事件(`button.click()`)都调用实际执行繁重操作的对象上的方法. (3认同)