代码之家  ›  专栏  ›  技术社区  ›  Totty.js

更轻快的机器人腿工作流程:可能更好,或者有太多的缺点?

  •  0
  • Totty.js  · 技术社区  · 15 年前

    目前,我正在构建一个相当大的应用程序flex4+robotlegs+as3signals+google app engine基于python。

    1)问题是,我发现自己从视图到中介体,从中介体到上下文都在重播同样的信号。

    2)另一个问题是,我正在对来自中介的信号执行命令,中介只在模型上运行1个方法。

    记住,使用flex 4时,皮肤可能与业务逻辑分离。 所以我有一个皮肤,一个皮肤的组件(SkinnableComponent)和一个模型。这是我的新方法:组件监听皮肤。组件具有强类型模型对象(注入)并直接调用方法。组件监听要发送的模型信号。这些都是组件的。中介在组件中转换。并且不使用该命令。

    现在的问题是: 与其将视图(在我的例子中称之为组件)映射到中介,不如将组件映射到不附加中介的位置,因为没有使用中介。然后允许组件使用[Inject]元标记。

    这就是我需要的,你知道如何实施吗? 当然,我也很高兴听到你的质疑和批评,这总是有助于改进的;)

    谢谢你的时间!;)

    代码:

    [皮肤] 分派由用户引起的事件

    [Component]类似于一个中介,但它扩展了SkinnableComponent,因此有很大的不同。 捕捉皮肤事件。具有强类型模型。然后对模型调用直接方法。听模特儿说。当模型分派事件时,组件的状态将更改。

    ...
    [Inject]
    public var accountModel:AccountModel;
    [Inject]
    public var xxxModel:XxxModel;
    
    // then the component run methods on it and listen on it. easy and no complications.
    

    [型号] 他们什么都不知道。只是发送事件或信号。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Joel Hooks    15 年前

    您在这里为自己节省了一个类,但现在您在视图组件上添加了额外的知识和职责。当然,这是可行的,你可以看看我关于使用 Presentation Models with Robotlegs . 我不会像你描述的那样推荐它。如果我要这样工作的话,肯定会有一个下午。

        2
  •  0
  •   JGFMK    15 年前

    你可能想看看这个 Adobe TV article 通过 Piotr Walczyszyn

    他比较了许多DI-AS3/Flex框架,包括Robotlegs。