【问题标题】:How to replace PureMVC Standard with PureMVC MultiCore如何用 PureMVC MultiCore 替换 PureMVC 标准
【发布时间】:2012-04-16 04:49:37
【问题描述】:

我正在开发一个使用 PureMVC 标准的项目。现在我需要添加一个新模块 SWF,它也使用 Standard。我知道解决方案是用 MultiCore MVC 替换 Standard MVC,但是有两个问题:

  • Standard 的包结构与 MultiCore 的不同 - 我必须手动更正吗?
  • 在标准 mvc 框架下,Mediator 的构造函数中的一些代码是允许的,而在 MultiCore 中,这似乎是绝对禁止的 - 所以我必须更改这么多构造函数才能摆脱这个吗?

最后:除了用 MultiCore 代替 Standard,还有什么更好的方法来解决这个问题?

【问题讨论】:

标签: actionscript-3 module migration flash-builder puremvc


【解决方案1】:

除了跨项目的全局搜索和替换之外,我不知道有任何其他更改包结构的好方法。我这样做也没有问题。

对于调解器,我在构造函数中初始化简单变量(整数、布尔值、数组等)从来没有遇到过问题,但其他任何东西都会被推迟到 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

现在出于习惯,我对所有项目都使用多核,即使我只有一个核。这使得在新项目中重用中介和代理变得更加容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-27
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多