![](/img/trans.png)
[英]Java: Best practice for sharing localization object across many GUI objects?
[英]Best practice for passing configuration to each GUI object
我正在编写一个应用程序,其中确实实现了几个不同的窗口,每个窗口都是一个单独的类。 现在,我需要以某种方式将单个配置对象传递给所有这些对象。 我的GUI的设计方式是,我有一个主窗口,可以创建自己的一些子窗口,并且这些子窗口可以具有自己的子窗口(因此,不可能在初始化部分中创建所有窗口并提供配置从一开始就对所有人反对)...
在他们之间共享此配置对象的最佳实践是什么? 总是通过构造函数传递,或者可能将其作为final public static
变量传递,并在需要时让每个窗口对象访问它?
谢谢
始终通过构造函数。 避免可变静电。
听起来您在旧学校里扩展了一切。 如果不需要扩展类(通常,如果您不覆盖任何方法),则不要扩展它。 “更喜欢构图而不是继承。”
OTOH,一个大的“了解一切;一切都知道”上下文类也不是很好。 使事情变小,每个类都做一件事情(对“一件事情”进行一些适当的定义)。
在这种情况下,我希望您使用第二种方法。 就像是:
Configuration.getCurrentConfig ();
我还通过子类化JFrame并进一步继承来解决类似问题的解决方案:
public abstract class BasicFrame extends JFrame {
protected BasicFrame (Map<String, String> configParams) {
...
}
}
public class SomeFrame extends BasicFrame {
public SomeFrame (Map<String, String> configParams, String title) {
super (configParams);
...
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.