在Java中全局访问命令行参数的最佳实践

时间:2011-08-30 22:46:42

标签: java oop global-variables command-line-arguments

存储从命令行传递给Java程序的全局设置的最佳方法是什么?例如,如果您要运行>Java myProgram -verbose我希望能够知道是否在所有私有函数中指定了详细信息。为每个函数添加五个或十个参数只是为了传递必要的变量是错误的,但我也一直在阅读Java中的全局变量是魔鬼的工作,即使它们只设置一次。这一定是一个非常普遍的问题,但我找不到任何可以解释最佳解决方法的方法,如果有人能指出我正确的方向,我会很感激。

2 个答案:

答案 0 :(得分:5)

全球变量绝不是任何语言中魔鬼的作品。相反,它们更像是一个rubix立方体。

如果你知道使用它们的最佳方法,你很少遇到无法解决的问题。如果您知道使用它们的基本方法,那么您将完成它,但需要一段时间才能使所有内容正确排列。如果你不知道如何使用它们,它们只会制作漂亮的彩色方块......

要记住的是,大多数时候你需要使用全局变量,你可以使用依赖注入。它会有更少的错误,并可能产生相同的结果。代码也会更干净,总是很好。

为什么不将这些变量添加到您的类中,而不是向您的方法添加10个变量?为什么不将它们存储在自己的容器中,以便按逻辑分组?

有关更多信息和实施,我需要了解更多背景信息。

答案 1 :(得分:-1)