【发布时间】:2010-09-06 08:20:26
【问题描述】:
您对先开发命令行,然后通过简单地调用命令行方法添加 GUI 有何看法?
例如。
W:\ todo AddTask "与 John 会面,re: login peer review" "John's office" "2008-08-22" "14:00"
加载todo.exe 并调用一个名为AddTask 的函数,该函数进行一些验证并将会议放入数据库中。
最终你为此添加了一个屏幕:
================================================== ========== 事件:[与约翰会面,回复:登录同行评审] 地点:[约翰的办公室] 日期:[星期五。 2008 年 8 月 22 日] 时间:[下午 2:00] [清除] [提交] ================================================== ==========当你点击提交时,它会调用相同的 AddTask 函数。
是否考虑过:
- 编码的好方法
- 仅供新手使用
- 太可怕了!。
附录:
我注意到这里的趋势是“由 GUI 和 CLI 可执行文件调用的共享库”。除了二进制文件本身的大小之外,是否有一些令人信服的理由必须将它们分开?
为什么不以不同的方式调用同一个可执行文件:
-
"todo /G"当您想要完整的图形界面时 -
"todo /I"用于交互式提示内todo.exe(脚本等) - 当你只想做一件事并完成它时,普通的旧
"todo <function>"。
附录 2:
有人提到“按照 [我] 描述事物的方式,您 [将] 需要在每次 GUI 需要执行某些操作时生成一个可执行文件。”
再说一次,这不是我的本意。当我提到示例 GUI 调用“相同的AddTask 函数”时,我并不是指 GUI 每次都调用命令行程序。我同意那将是非常讨厌的。我原本打算(见第一个附录)将所有这些都保存在一个可执行文件中,因为它只是一个小例子,但我认为我的措辞不一定排除共享库。
另外,我要感谢大家的意见。这件事一直在我脑海中浮现,我很欣赏你的经验。
【问题讨论】:
-
在 Windows 中,您可以将可执行文件标记为控制台程序或 gui。您不能同时启用两者。
-
大部分是真的。但是 CLI 应用程序可以充当另一个 GUI 应用程序的包装器。如果 CLI 应用程序没有传递 /G 标志,则 GUI 应用程序根本不会创建窗口。有关类似示例,请参见 MsDev.com/.exe
标签: language-agnostic command-line