【问题标题】:Flex, RobotLegs: must you mediate all child components of a visual component?Flex、RobotLegs:你必须调解一个可视组件的所有子组件吗?
【发布时间】:2010-11-22 18:13:49
【问题描述】:

在 RobotLegs 的示例中,似乎在每个按钮/textArea 上都使用了调解器,而不是在包含这些子组件的自定义组件上。这将非常耗时,不是吗?

来自 Joel Hooks InsideRia Example

依赖注入效果更好 明确的类。这意味着什么 是通过将 TextArea 扩展到我们的 新的 MessageView 类,我们正在创建 一个特定的视图组件 依赖注入采取行动。这个 如果我们的应用程序是重要的 有几个 TextAreas 服务 不同的目的。通过划分我们的 以这种方式上课,我们显然 定义类的意图和 允许依赖注入 有效完成工作的工具。

【问题讨论】:

    标签: apache-flex actionscript-3 robotlegs


    【解决方案1】:

    不,不要调解每个子组件。您的组件应该组织成执行相关操作的组。在示例中,组件非常简单,并不能反映真实应用程序的外观。

    【讨论】:

    • 啊,对,我可能把事情看得太字面意思了,谢谢。顺便看了你的博客,你用 C++ 做过什么吗(在使用了像 AS3 和 Java 这样的“好”语言之后,真是让人头疼!)
    • 除了在 openFrameworks 上胡闹外,我在 C++ 方面做得不多。像 C++ 这样的语言真的很难享受乐趣
    【解决方案2】:

    我使用的一个经验法则是考虑该组件是否需要与应用程序的其余部分进行任何通信,或者它是否只是整体的一部分。请记住,中介仅用作视图和应用之间的桥梁。

    例如,如果我有一个带有表单的视图(假设是一个登录表单),我不会调解所有子组件(文本字段、按钮等),因为它没有意义并且会扩散运行时的类和对象。当我做我想的形式时,视图本身是什么?以及应用程序的其他部分应该如何处理它? 当用户填写表单并单击按钮时,视图会分派一个事件(在本例中为 LoginRequestEvent),然后中介应该重新分派该事件,从而使中介非常精简。

    但是通过框架的实践,你会产生这种你需要调解的感觉。例如,在一个应用程序中,我协调列表的每个项目渲染器,而在另一个应用程序中,我协调具有两个或三个导航内容的视图堆栈。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2021-02-15
      • 2022-01-01
      • 2012-01-30
      • 2022-01-07
      • 2021-12-30
      • 2021-12-20
      • 2022-01-22
      • 1970-01-01
      相关资源
      最近更新 更多