加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 01:30:54 所属栏目:百科 来源:网络整理
导读:我有: 现有面向对象的本机代码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也看起来很有趣.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读