gpt4 book ai didi

Swing 中的 Java 创 build 计模式

转载 作者:行者123 更新时间:2023-11-30 09:52:06 26 4
gpt4 key购买 nike

我有一系列这种形式的静态实用方法:

StringBuffer Util.doA(String arg0, String arg1, SomeEnum e);  
StringBuffer Util.doB(String arg0, String arg1);
StringBuffer Util.doC(String arg0, String arg1, String arg2,String arg3);
StringBuffer Util.doD(String arg0, String arg1, String arg2,String arg3, AnotherEnum e);
etc

我想显示动态创建的 JDialog,例如通过构建器或其他模式,一旦按下按钮,我希望根据对话框的类型调用适当的实用程序方法。
例如。如果 JDialog 是 type A 按钮的 actionlistener 应该调用 Util.doA 作为参数从输入字段传递数据,如果 JDialog 是 type B 我想让按钮的actionlistener调用Util.doB
类型 A、B 等是我的自定义类型。不强制使用。我只是用它们来区分每个 JDialog。
A 类型的 JDialog 在某些输入字段中不同于 B 类型的 JDialog。但整体外观相似。
总共有大约20种类型和20种对应的util方法。
我遇到的这个问题有标准模式吗?
我开始扩展 JDialog,以便每个自定义 JDialog 都能正确创建自己,并且 actionlistener 的方法会调用适当的实用程序方法,但我最终得到了 20 个新类。
所以我想是否有更好的方法来解决这个问题。有什么想法吗?

谢谢

最佳答案

将对应的util方法放在20种里面。如果类型之间存在任何重复,您可以将其移至父类(super class)。

关于您的问题,我认为这是针对您的情况的最佳方法。如果对话框和实用程序代码都在一个类中,仅此而已,那么该类的目的是什么就很清楚了。这也意味着如果您需要删除、更改、添加新类型,您只需删除一个类、修改一个类或创建一个新类。将所有相关代码放在一起可防止“霰弹枪手术”。

关于Swing 中的 Java 创 build 计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4376065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com