【发布时间】:2011-09-17 18:23:29
【问题描述】:
例如,我有一个构建 GUI 的类,一个处理 GUI 的所有事件的类,以及一个包含受 GUI 对象影响的所有对象(主要是滑块)和 GUI 实例的主类-class 和 event-class。
现在,事件类的构造函数将 GUI 类和每个被 GUI 更改的对象作为参数。这些是相当多的对象,所以我现在有大约 8 个参数并且还在增长。
有没有更优雅的解决方案来解决我的问题,30 个参数根本感觉不对?
ps,我宁愿不合并类,因为这三个类都非常大,并且会使所有内容的可读性降低。
【问题讨论】:
-
所有参数都属于同一类型吗?如果是,那么您可以获取它们的数组。
-
Hashmap 有用吗?我倾向于像 spring 这样的 xml 配置方法,但这可能不适合你
-
@Zoidberg,这不是让事情变得不必要的复杂吗?
-
我只是应用了 YUI 中使用的一些策略,他们使用配置对象来初始化可以具有大量参数的类。如果您使用哈希图,它允许您将其接受到一个 init 方法中,该方法可以将值提取出来,键入 caste 它们并将它们放入实例变量中。我认为这不会增加太多复杂性,并且会缩短构造函数的参数计数。
标签: java constructor arguments