java - 类构造函数中大量参数的优雅替代方案

标签 java constructor arguments

<分区>

例如,我有一个构建 GUI 的类,一个处理 GUI 的所有事件的类和包含受 GUI 对象(主要是 slider )影响的所有对象的主类和 GUI 的实例-类和事件类。

现在,事件类的构造函数将 GUI 类和每个被 GUI 更改的对象作为参数。这些是相当多的对象,所以我现在拥有的参数数量约为 8 个,并且还在增加。

有没有更优雅的解决方案来解决我的问题,30 个参数根本感觉不对?

ps,我宁愿不合并类,因为这三个类都非常大,并且会使所有内容的可读性大大降低。

最佳答案

在这种情况下,通常会使用语法流畅的构建器对象。你改变:

new XYZEvent(a, null, null, b, null, c, d, null, null)

new XYZEventBuilder().setA(a).setB(b).setC(c).setD(d).build()

关于java - 类构造函数中大量参数的优雅替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6395961/

相关文章:

java - JPA:我应该从表中生成实体,还是从实体中生成表?

c++ - 在构造函数初始化列表中调用非静态函数,C++

C++构造函数问题

C# 函数正常返回值 VS out 或 ref 参数

c++ - 具有2个模板参数的C++类,具有1个参数的函数

java - 仅在需要时创建 Java 对象?

java - Oracle Form 频繁挂起

java - JPA 鉴别器类型性能

c# - 如何在 C# 中访问其成员函数时防止调用一个类的构造函数?

c++ - 从 C++ 将字节数组传递给 lua 脚本方法