将程序逻辑与GUI代码分离的最佳方法是什么?
我想使用相同的程序逻辑来使用不同的GUI(GTK,KDE,CLI)代码。
我正在考虑使用不同的python模块(winecellar-common,winecellar-gtk,winecellar-cli),不知道我将如何做到这一点以及它是否是最佳方式。
*的 EDITED *
添加我的问题是什么是组织项目文件结构和使用不同模块构建平台的最佳方式。请记住它主要用于Ubuntu。
答案 0 :(得分:12)
在一个模块中为您的业务逻辑定义函数或类,并在另一个模块中定义您的演示文稿,使用这些函数来获取演示文稿。您几乎应该完全使用GUI模块中主模块的函数和类。您应该为CLI执行相同的操作。这样,您可以使用不同的接口使用不同的发行版,而不必为每个发行版创建不同的“逻辑”文件。
基本上,你有正确的想法。只需将它们保持为可能,以便a。)您可以轻松支持多个接口,并且b。)您可以轻松地更改接口。
答案 1 :(得分:1)
也许“模型 - 视图 - 控制器”模式对您有用。 wxPython有一个很好的教程来实现这个架构: http://wiki.wxpython.org/ModelViewController