当前位置 : 主页 > 编程语言 > c语言 >

c# – 如何从现有的面向对象的API创建控制台应用程序?

来源:互联网 收集:自由互联 发布时间:2021-06-25
我有: 现有面向对象的本机代码API(非GUI) 适用于此API的GUI应用程序 目标: 创建一个额外的控制台应用程序,通过键入命令,用户可以执行一些工作流程(类似于上面的GUI应用程序).此应用
我有:

>现有面向对象的本机代码API(非GUI)
>适用于此API的GUI应用程序

目标:
  创建一个额外的控制台应用程序,通过键入命令,用户可以执行一些工作流程(类似于上面的GUI应用程序).此应用程序应为“有状态” – 可用命令及其结果将取决于先前发出的命令.

问题:
  我不想“重新发明轮子”.是否存在构建应用程序和定义“词汇表”的现有模式?目前,在我看来,最好的选择是“从头开始”编写一组助手和命令解析器.

附:如果我的API将在.Net中,我会考虑PowerShell方向,但API很大并将其包装到.Net中非常耗时.

要开始使用命令行,首先不要重新发明轮子.有很多选项来解析命令.

在Java中有Commons CLI,它为您提供所需的一切.还有一个.NET CLI port.

InfiniteRed有a good writeup如何在Ruby中执行此操作.

就实施而言,你有正确的想法.但也不要在这里重新发明轮子.封装Command对象中的工作并查看使用Chain of Responsibility模式; Commons Chain运作良好.还有一个.NET Chain port.

如果不能使用这些框架,请查看它们是如何实现的.另外,如果你在使用其中一些选项进行互操作时遇到问题,Ruby对于做这类事情来说真是一把不错的瑞士军刀.它相对便携,代码最终可以非常干净,易于维护.

更新:JCommander也看起来很有趣.

网友评论