最佳实践 访问不同类中的几个参数



我有这种情况;接受来自main方法参数的一组值,并且必须在多个类和多个方法中使用。您能否建议,除了作为方法参数传递之外,使这些参数在类中可用所需的最佳实践或设计模式是什么?

例:

从主方法接收参数,如参数1,参数2,参数3。参数6 现在这些参数必须由其他类方法使用。

你问了一个非常笼统的问题,所以我会给出一个非常笼统的答案。

  1. 使用某种形式的依赖注入 - 您不必使用专用的 DI 框架,我很少这样做,通常我让 main 方法不包含任何逻辑,除了连接我的对象,然后在某个驱动程序类上调用一个方法,该驱动程序类连接了整个世界。 它为单元和集成测试带来了与任何 DI 框架相同的好处,并且不会强迫下一个开发人员学习您选择的任何特殊、文档记录不佳且未维护的 DI 框架;相反,你使用Scala——它真的非常强大,更多的人应该尝试一下。

  2. 如果发现方法和构造函数重复采用相同的参数集,请创建一个描述这些参数的参数类。

  3. 对于一个方法来说,超过 2 个参数太多,1 个参数比 2 个好,没有参数是最好的。

最后,阅读Robert C. Martin的Clean Code: A Handbook of Agile Software Craftsmanship,它教授了最基本的代码应该是什么样子,我认为每个程序员在听到"设计模式"这个词之前都应该学习它的概念。方法应该有多长? 方法应该接受多少个参数? 方法应该如何命名? 我有一个很长的方法,我该如何分解它? 类应该如何命名,其中应该包含什么? 等。

或者你可以做一些可怕的事情,比如在任何地方使用 Scala 隐式参数。

如果要传递数据集合 (在您的示例中, 一组六个参数(, 创建包含数据的类是一种合理的做法 (在您的示例中, 包含六个参数的类( 并传递该类的实例,而不是不断传递六个参数。

最佳做法实际上是将它们作为参数传递。 如果你不想要这样,你几乎会被这样的东西所困:

object Globals {
var param1: String 
var param2: String 
// ...
}

但这真的很恶心。别这样。

最新更新