1

我正在尝试将现有项目重构为 PureMVC。这是一个 Adob​​e AIR 桌面应用程序,它利用了 AIR 中包含的 SQLite 库,并在它的基础上构建了一些其他库:

我使我当前的数据库实现类似于 websql-js 的基于 promise 的 SQL 访问层,它工作得很好,但是我很难看到它如何在 PureMVC 中工作。

目前,我的 VO 将与 DAO(数据访问对象)配对以进行数据库访问。我卡住的地方是如何在整个程序中跟踪 dbFile 和 sqlRunner 实例。DAO 需要了解 sqlRunner,或者至少需要了解 dbFile。sqlRunner 应该被视为单例吗?还是为每个数据库查询创建?

最后,如何将 dbFile 或 sqlRunner 暴露给 DAO?现在在我的脑海中,我看到将这些保存在一个 DatabaseProxy 中,它将暴露给其他代理,并在需要时实例化 DAO。DAO 工厂模式呢?

我对 PureMVC 很陌生,但我真的很喜欢角色的结构和分离。请不要犹豫,告诉我这个实现是否行不通。

4

1 回答 1

1

通常在 PureMVC 中,您将使用 aProxy来获取远程数据并填充VOs 使用的 s View,因此在这方面您提出的架构听起来不错。

DAOs 不是我见过的与 PureMVC 结合使用的模式(这并不是说没有人这样做或应该这样做)。但是,如果我打算在 PureMVC 中编写一个 crud 应用程序,我可能会考虑Proxy从数据库中读取信息并将Commands其写回的(或代理)。

于 2015-04-17T23:42:48.243 回答