Sil*_*ker 4 command-line programming gui
在 Linux 中,很多程序都有 CLI 版本和 GUI 前端。我在某处读到这遵循 linux 哲学并且是很好的做法。当然,从开发人员的角度来看,将 GUI 代码与实际程序分开是正确的。
给定一个可以从命令行愉快使用的程序,我想为命令行版本创建一个 GUI。我在这里有哪些选择?
我只能想到 GUI 开发人员会使用的 2 个。
使用配置的参数调用程序,如下所示:
system("someprogram --paramter1 -p2 -p3")
让 CLI 版本能够使用套接字(unix、inet 等)在服务器模式下运行并使用这些套接字与“服务器”进行通信
在我看来,最干净的解决方案是第二个,但如果不改变 CLI 版本,这并不总是可行的。
实际问题是分别构建 cli 版本和 GUI 版本的正确方法是什么?
另一种方法是将您的功能编写为库。然后你有一个使用库的 GUI;以及一个也使用该库的 CLI。取决于您的任务的复杂性,这可能是最佳解决方案,因为两个程序都可以独立工作,而无需任何类型的进程间通信。