【问题标题】:Asynchronous Database Access Layer in PureMVCPureMVC 中的异步数据库访问层
【发布时间】:2015-02-25 22:59:06
【问题描述】:

我正在尝试将现有项目重构为 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 很陌生,但我真的很喜欢角色的结构和分离。请不要犹豫,告诉我这个实现是否行不通。

【问题讨论】:

标签: sqlite actionscript-3 model-view-controller data-access-layer puremvc


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-03-27
    • 1970-01-01
    • 2012-03-10
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    相关资源
    最近更新 更多