保持程序GUI前端和CLI功能分离

Modified on: Wed, 11 Jul 2018 06:25:30 +0800

在Linux中,很多程序都有CLI版本和GUI前端。我在某处读到这是遵循linux哲学并且是良好的实践。当然,从开发人员的角度来看,将GUI代码与实际程序分开是正确的。

鉴于一个可以从命令行中愉快地使用的程序,我想为命令行版本创建一个GUI。我有什么选择?

我只能想到GUI开发人员会使用的。

  • 使用配置的参数调用程序,如下所示:

    system(“someprogram --paramter1 -p2 -p3”)

  • 让CLI版本能够在服务器模式下使用套接字(unix,inet,...)运行并使用这些套接字与“服务器”进行通信

在我看来,最干净的解决方案将是第二个,但如果不改变CLI版本,这并不总是可行的。

实际问题是,单独构建cli版本和GUI版本的正确方法是什么?

最佳答案

另一种方法是将您的功能编写为库。然后你有一个使用该库的GUI;以及一个也使用该库的CLI。取决于您的任务的复杂性,这可能是最佳解决方案,因为两个程序可以独立工作而无需任何类型的进程间通信。


相关问答

添加新评论