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

时间:2018-10-23 14:34:07

标签: java scala design-patterns

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

示例:

有从主方法接收到的参数,如param1,param2,param3..param6 现在,这些参数必须由其他类方法使用。

3 个答案:

答案 0 :(得分:1)

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

  1. 使用某种形式的依赖注入-您不必使用专用的DI框架,我很少这样做,通常我的main方法除了连接对象然后不包含任何逻辑,然后调用在某个驱动程序类上的方法,它的整个世界都已连接起来。与任何DI框架一样,它在单元和集成测试中具有相同的优势,并且不会迫使下一个开发人员学习您选择的任何特质,文献记录少且无需维护的DI框架;取而代之的是使用Scala,它确实非常强大,更多的人应该尝试一下。

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

  3. 对于一个方法,两个以上的参数太多了,一个参数比2个更好,而没有一个参数是最好的。

最后,请阅读罗伯特·C·马丁(Robert C. Martin)撰写的《清洁代码:敏捷软件技巧手册》,它教导了最基本的代码应该是什么样的,而且我认为每个程序员都应该在不听之前就学习其概念。术语“设计模式”。方法应该多长时间?方法应采用多少个参数?方法应如何命名?我有一个很长的方法,我该如何分解?应该如何命名类,类中应该包含什么?等

或者您可以做一些可怕的事情,例如在各处使用Scala隐式参数。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

最佳实践实际上是 将它们作为参数传递。 如果您不希望这样做,那么您几乎会陷入类似

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

但这真的很讨厌。不要这样做。