控制台应用程序结构

Pau*_*Fox 5 standards console-application

在过去的 6 个月里,我编写了多个 .Net 控制台应用程序,并且我们组织中的不同项目还编写了更多的 .Net 控制台应用程序。我的控制台应用程序通常坚持相同的标准格式/结构。不幸的是,我们的许多控制台应用程序都没有。

我一直在研究标准化这些控制台应用程序结构的方法。我还想为控制台应用程序的基本结构提供一个框架,并提供对处理参数传递、日志记录等事务的标准方法的轻松访问。

谁能建议解决这些问题的最佳实践?我一直在阅读这篇关于.Net 中控制台应用程序的 MSDN 文章,其中建议了控制台应用程序的设计模式。该示例使用模板方法模式来处理我之前列出的一些问题。

文章中列出了使用这种方法的两个缺点。

  • 最终课程数量增加了一倍
  • 有许多简单、相似的类

任何人都可以建议更好或更标准的处理方法吗?用这种方法列出额外的负面影响怎么样?

Pau*_*Fox 2

回答我自己的问题的一部分......

我确实花了相当多的时间寻找一种标准方法来处理传递给我的控制台应用程序的参数的解析。我专门寻找类似于 Python 的 GetOpt 的东西。考虑到这一点,我选择的解决方案是NDesk.Options。它涵盖了我们所有的需求,并且似乎以标准方式处理争论。我认为这可能会对在搜索中偶然发现这个问题的人有所帮助。