【问题标题】:Best practice for accessing command line arguments globally in Java在 Java 中全局访问命令行参数的最佳实践
【发布时间】:2011-08-31 06:56:07
【问题描述】:
存储从命令行传递给 Java 程序的全局设置的最佳方式是什么?例如,如果您要运行>Java myProgram -verbose,我希望能够知道是否在所有私有函数中都指定了详细信息。为每个函数添加五个或十个参数只是为了传递必要的变量感觉是错误的,但我也一直在阅读 Java 中的全局变量是魔鬼的工作,即使它们只设置一次。这一定是一个非常普遍的问题,但我找不到任何解释处理它的最佳方法的东西,如果有人能指出我正确的方向,我将不胜感激。
【问题讨论】:
标签:
java
oop
global-variables
command-line-arguments
【解决方案1】:
在任何语言中,全局变量都不是魔鬼的杰作。相反,它们更像是魔方。
如果您知道使用它们的绝对最佳方法,您就很少会遇到无法解决的问题。如果您知道使用它们的基本方法,您将通过它,但需要一段时间才能使所有内容正确排列。如果你不知道如何使用它们,它们只会组成漂亮的彩色方块集合......
要记住的是,大多数时候您需要使用全局变量,您可以改为使用依赖注入。它的错误更少,并且可能产生相同的结果。代码也会更干净,这总是好的。
为什么不向您的方法添加 10 个变量,为什么不将这些变量添加到您的类中呢?为什么不将它们存储在自己的容器中,以便按逻辑分组?
有关更多信息和实施,我需要了解更多背景信息。