我正在做一个使用PureMVC标准的项目。现在我需要添加一个新的模块SWF,它也使用Standard。我知道解决方案是用MultiCore MVC取代标准MVC,但是有两个问题:
Mediator标准mvc框架,允许在Mediator构造函数中使用一些代码,而在MultiCore中,这似乎是绝对禁止的--那么,我是否需要更改这么多的构造器才能摆脱这种情况呢?最后:除了用MultiCore取代标准之外,还有什么更好的方法来解决这个问题呢?
发布于 2012-05-22 15:48:02
除了跨项目的全局搜索和替换之外,我不知道任何其他更改包结构的好方法。我做这件事也没有问题。
对于中介器,在构造函数中初始化简单变量(int、Booleans、数组等)时,我从来没有遇到过问题,但是其他任何事情都会被推迟到onRegister (特别是以任何方式涉及这个阶段的任何事情),并且看起来类似于:
public class MyMediator extends Mediator implements IMediator {
public static const NAME : String = "MyMediator";
// internal states
private var foo : int;
public function MyMediator (viewComponent : Object) {
super(NAME, viewComponent);
foo = 0;
trace("MyMediator()", main_mc);
}
override public function onRegister () : void {
main_mc.addEventListener(...);
}
protected function get main_mc () : Main {
return viewComponent as Main;
}
}在AS3中使用稀疏的结构是个好主意,因为constructor code is always interpreted and not compiled。
现在,出于习惯,我对所有项目都使用多核,即使我只有一个核心。这使得在新项目中重用中介程序和代理变得更加容易。
https://stackoverflow.com/questions/10168840
复制相似问题