问题标签 [cairngorm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
116 浏览

actionscript-3 - PresentationModel - 命令反馈

据我了解,我使用带有 PresentationModel-Pattern 的 Cairngorm 2.2(PresentationModel 保存视图逻辑并调度 CairngormEvents 以触发命令)。

什么是获得有关命令结果(结果和故障)的反馈的正确解决方案。例如 PresentationModel 下一个动作取决于服务器响应状态码。

我是否必须收听修改后的模型事件(模型由命令修改)?

或者我应该将委托响应者转发给 PresentationModel?

谢谢你的帮助。马库斯

0 投票
1 回答
1638 浏览

apache-flex - Cairngorm 模型定位器模式

在 Cairngorm (Flex Framework) 中,有 Model Locator Pattern,类似于全局变量,是不是一个正确的模式,Adobe 说 flex 是它最好的模式

Adobe 咨询团队将模型定位器模式设想为 Flex 开发人员采用的最佳实践。模型定位器模式是独一无二的,因为它不是我们从核心 J2EE 模式目录中借用的模式。相反,我们专门为 Flex 应用程序开发创建了这种模式。我们的动机是在 Flex 应用程序中拥有一个应用程序状态保存的地方,并且视图组件能够“定位”它们希望呈现的客户端模型。我们的模型定位器模式策略鼓励使用数据绑定,以便视图组件直接绑定到模型定位器类的单个实例中保存的客户端状态。这样,每当模型在 ModelLocator 中更新时,

0 投票
1 回答
438 浏览

apache-flex - Flex Cairngorm 3 表示模型初始化

好的,所以我打开了一个 TitleWindow……我定义了 6 个状态。我对所有视图都使用了演示模型模式。我发现了一个令人沮丧的细微差别。当我告诉我的窗口进入 XXX 状态时,控件必须初始化,因为 flex 中的状态使用延迟加载。所以......我的 PM 代码说 myTextArea.text 爆炸并说“无法访问......”所以作为一种解决方法,我在我的控件上创建了一些 creationComplete 事件以向 PM 注册控件。因此,当状态发生变化时,textarea 最终会初始化,并在 creationComplete 调用 PM.registerTextArea() 设置对它的引用。然后在那个函数中我运行我的代码...... myTextArea.text.. 等等。

这似乎是一个丑陋的黑客,我讨厌它。有没有办法等到整个状态在创建然后在 PM 上调用代码?我已经尝试过 enterstate ......但这个事件似乎在状态控件准备好之前触发。

我试图添加评论,但我想编辑是我能做到这一点的唯一方法......

致大家:感谢您的反馈。我正在做一些有点偏离直接 PM 的事情。每个视图都有一个 viewController(我这样称呼它们)。它有点像我自己的委托/数据提供者的混合体。但这没有实际意义。在处理状态时,最痛苦的是弹性组件的生命周期。如果您更改状态.. 没有任何事件可以说“我在此状态下的所有组件都准备好了”。唯一说“我们改变了状态”的事件。所以我在状态变化时触发的代码正试图与尚未准备好的组件对话。所以从我所见,似乎没有设计模式或完美的方法来确保所有组件都在一个状态下创建,除非在该状态下的每个组件上使用 creationComplete 来注册它已经准备好......如果你不这样做,你获得比赛条件。无论是框架还是设计模式,

textarea 是一个简单的 PM 修复.. 只需将其绑定到 pm 值。但有些时候我不能。

具体来说,一旦我达到那种状态,我就会尝试将视频附加到显示器上。这是通过 addchild 完成的。无论我在哪里做.. 在调用 addchild 之前,我需要知道 videoDisplay 已完成加载。我什至尝试了 currentStateChange 事件,因为文档说最后触发......但是唉......状态中的组件仍在初始化。因此,creationComplete 似乎是我唯一的选择。也许保持代码干净的唯一明智的方法是在进入状态后使用 as 创建整个事物(视频显示和视频)。我只是希望 flex 框架有事件来帮助我,而不是在运行中构建所有东西。

0 投票
2 回答
455 浏览

apache-flex - 如何查看这个类 CairngormEvent 源代码?

我看不到这个 CairngormEvent.swc 我不知道我可以在 lib 中添加哪个 .swc 文件?谢谢。

0 投票
1 回答
994 浏览

java - 为什么 Java 值对象会作为 Generic Flex 对象返回?

我会尽力提供尽可能多的细节。

我正在使用 Flex(Cairngorm 2)/Java/Hibernate 创建一个 CRM 应用程序。我遇到的基本问题是:

我在 Java 中有一个 Customer 类,它有一个 Address 类的 ArrayList。我在 Flex 中有一个 Customer 类,它有一个 Address 类的 ArrayCollection。

当我为客户进行远程对象调用时,我在 Flex 中返回了一个客户对象,但 ArrayCollecion 对象的数据类型是对象而不是地址。

如果我尝试调用地址类列表,我会得到相同的结果。如果我尝试调用客户类列表,我会在 Flex 中获得客户类列表。

将 tomcat 6 与以下 jar 一起使用:

客户身份

}

地址.as

}

客户.java

}

地址.java

休眠映射:Customer.hbm.xml

地址.hbm.xml

0 投票
1 回答
270 浏览

apache-flex - 从 ActionScript 3 读取服务器 URL 以进行 Cairngorm 配置

我需要读取调用 Flex 应用程序时浏览器显示的 URL,因为我会在配置Cairngorm远程对象的 mxml 中引用它。

我要达到的目标是在Cairngorm不同环境(dev、test、qa、prod)之间自动配置服务,而无需在 mxml 或其他 ActionScript 中静态设置值。由于 Flex 客户端部署在 webapp 之战的根目录中,因此读取浏览器指向的位置就足够了。

我写了一个这样做的类:

在我的 mxml 中,我会这样做:

但是每当我调用ConfigServer构造函数和我应用的每一种(我知道的)技术(静态或单例或公共 ro 等)时,我总是遇到同样的错误:

Cairngorm服务初始化如下:

问题是FAPDAServices.mxml之前读取的运行FlexGlobals是有效的......

在 Flex 应用程序生命周期中是否有loaderURL定义这样的点以便我可以构建ConfigServer?什么时候在初始化完成的启动事件中?

我承认我是 Flex 史诗级新秀,所以我可能完全错了。

此致

0 投票
1 回答
279 浏览

apache-flex - Cairngorm 框架如何在内部工作

我浏览了很多文档,没有提到 cairngorm 框架如何在内部工作,意味着 cairngorm Event、frontController、BusinessDelegate、ServiceLocator、Commands 是如何工作的,以及为什么我们要扩展或实现像 ICommand、IResponder 和 cairngormEvent 这样的 cairngorm 类。

谢谢,拉维

0 投票
0 回答
370 浏览

apache-flex - cairngorm 如何为 Flex 4.5 移动应用程序提供套件

可以使用 flex 4.5 开发移动应用程序的 cairngorm 框架套件吗?

0 投票
1 回答
187 浏览

sql - 无法使用 Cairngorm 持久性库为 PersistenceClient 创建 SqlMap

我正在尝试通过以下方式创建持久性客户端对象:

我遇到的问题是,即使 sqlmap 对象中有一个有效的“_maps”数组,sqlmap 的“map”属性仍然不可检索。

尝试执行创建表 sql 时,语句工厂抱怨:

不知何故,sqlmap 类无法使用 ObjectUtil 类将传递给它的对象的属性复制到 map 属性。

我不想使用 mxml 文件,也不想像示例中那样使用 spicelib。

我在这里做错了什么?

0 投票
1 回答
231 浏览

apache-flex - 错误:无法将 .mxml 文件添加到项目

我有一个用 maven 制作的项目 .swc。构建成功。如果我将项目添加到 Flashbuilder,我不会收到任何错误。但是如果我用 flashbuilder 添加一个 .mxml 文件,那么它是从 flashbuilder 生成的。

然后我得到这个错误:

1172: 定义 mx.core:DeferredInstanceFromClass

找不到。

如果我添加 .as 文件,则没有问题。

有没有人有这个问题的想法或解决方案..

谢谢。