Class 命令行界面结构
Class structure for command-line interface
我正在用 C# 开发一个简单的命令行界面。目前,它解析用户的输入并沿着一长串 if-then-else 语句运行,以执行用户可以键入的各种命令。一些例子:
- 制作目录
- 递归删除目录
- 正在输入目录
- 列出目录
- 输入文本编辑器或我正在为其编写的一些其他工具,例如基于文本的 UI 用于我与解释器或一些数学工具或游戏(如重力模拟器)一起制作的 ASM 变体或康威的人生游戏
- 保存一切的状态
- 一个帮助功能
- 正在重命名文件
- 正在删除文件
if-then 链只是为了让事情正常进行。我想以更好的方式处理命令在界面中的表示方式。
我的第一个想法是 Class Command
具有以下属性:
- 当用户键入
help
时将列出的命令摘要条目
- 用户键入帮助时的更具体信息
help 'specific
command'
- 参数数量
- 执行命令时要调用的函数的委托
由于这只是我的第一个想法,而且我对此还比较陌生,所以我想知道有什么更好的方法。
在这种情况下,Switch case 可能比 if..else 更好:
switch (command)
{
case "copy":
// Copy
break;
case "create":
// Create;
break;
}
对于命令,命令模式是实现界面的最佳方式,很少参考命令设计模式入手:
https://code.msdn.microsoft.com/windowsapps/Design-Patterns-Command-1962d567
http://www.blackwasp.co.uk/command.aspx
您还可以参考在线命令行实用程序的示例实现,了解如何解析命令行参数,例如:
http://crmcommandline.codeplex.com/
我正在用 C# 开发一个简单的命令行界面。目前,它解析用户的输入并沿着一长串 if-then-else 语句运行,以执行用户可以键入的各种命令。一些例子:
- 制作目录
- 递归删除目录
- 正在输入目录
- 列出目录
- 输入文本编辑器或我正在为其编写的一些其他工具,例如基于文本的 UI 用于我与解释器或一些数学工具或游戏(如重力模拟器)一起制作的 ASM 变体或康威的人生游戏
- 保存一切的状态
- 一个帮助功能
- 正在重命名文件
- 正在删除文件
if-then 链只是为了让事情正常进行。我想以更好的方式处理命令在界面中的表示方式。
我的第一个想法是 Class Command
具有以下属性:
- 当用户键入
help
时将列出的命令摘要条目
- 用户键入帮助时的更具体信息
help 'specific command'
- 参数数量
- 执行命令时要调用的函数的委托
由于这只是我的第一个想法,而且我对此还比较陌生,所以我想知道有什么更好的方法。
在这种情况下,Switch case 可能比 if..else 更好:
switch (command)
{
case "copy":
// Copy
break;
case "create":
// Create;
break;
}
对于命令,命令模式是实现界面的最佳方式,很少参考命令设计模式入手: https://code.msdn.microsoft.com/windowsapps/Design-Patterns-Command-1962d567 http://www.blackwasp.co.uk/command.aspx
您还可以参考在线命令行实用程序的示例实现,了解如何解析命令行参数,例如: http://crmcommandline.codeplex.com/