2011-07-08 252 views
1

我有许多GUI类正在访问从其构造函数中设置的相同信息对象。每个GUI类以不同的方式显示gui信息对象。在对象之间传递对象

每次在构造函数中初始化对象还是仅将对象添加到内存并在每次GUI类需要时使用它都更好?两种方法都属于设计模式吗?

+1

第二种方式可能是singleton模式。你应该尽量避免单身人士。 –

+0

那么现在每个GUI类都在其构造函数中创建该对象的一个​​新实例?但是对象中的信息总是一样的? –

+0

@Damokles对象始终是相同的类型,但其某些成员变量对于每个GUI类将具有不同的值。 –

回答

2

即使在特定对象的设计模式阅读本文之前,一个很好的起点是对MVC(模型 - 视图 - 控制器)模式阅读起来。它可能是那里最常用的架构模式,谷歌搜索将带来大量的好材料(在这种情况下,Wikipedia甚至会是一个好的开始)

它用于解决您已经暗示的问题在,你的各种显示逻辑必须经常访问相同的信息保存逻辑。在使用MVC架构的应用程序中,您的代码(或多或少)分为三类,在UI中显示信息的代码,保存(或模型化)信息的代码以及控制应用程序和应用程序流的代码事件。 MVC应用程序通常使用监听器和其他事件设计模式,就像上面提到的一样。

1

我会建议依赖注入,那里有很多框架。我最喜欢的是guice,但是YMMV。

1

如何使用策略模式?基本上只是限定了一组类,从相同的接口继承如

public interface GUIBehavior { 

} 

//组类

public behavior1 implementse GUIBehavior... 

//在该显示信息简单地设置一个属性的行为clases

private GUIBehavior myCurrentBehavior; 
+0

感谢您的回答,但我不明白这是如何回答原来的问题?你能详细说明吗? –

+0

@ user470184由于每个GUI都在执行自己的行为,因此可以将这些行为分为一组类。如果您希望在运行时改变这种行为,您可以简单地将该属性指向新的行为。 –