在我的项目中,我有一个主.as,它定义了一个类。
在课堂上,我还有其他各种对象。其中之一包含有关应用程序状态的信息,我将其注入其他类中,以便他们都知道发生了什么。
当事情发生变化时,状态类还会调度一个自定义事件。
我的问题是,做这样的事情是否不好?
public class SomeClass {
private var appState:AppState;
public function SomeClass(appState:AppState) {
this.appState = appState;
this.appState.addEventListener(AppState.INFO_UPDATE, this.appStateUpdated);
}
private function appStateUpdated(e:Event) {
//do something with new appstate
}
}
我喜欢这种方式,但是我不确定以后是否还会再咬我。这是一个好的方法吗?
是的,这样的事件系统或多或少创建了观察者模式。(也就是说,一个对象观察到另一个对象的变化)
MVC模式是基于观察者模式的,它是几乎每种应用程序以一种或另一种方式的基础。
其中的一部分是V,view
它观察到M的model
变化。在您的情况下,appState
可能是,model
也SomeClass
可能是view
(一类)。为了观察model
,view
接收到对该model
对象的引用。这通常是完全按照您的方式进行的。
请记住,您绝对不要强行使用任何模式。上面的要点是告诉您,将可观察变量传递给类似的类非常普遍。但是,这并不意味着它一定是您所处情况的正确选择。(很可能是正确的选择,只是不认为这样做本身就是正确的选择)
appState
销毁SomeClass
对象时,请不要忘记清除对它的引用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句