【发布时间】:2015-02-25 22:59:06
【问题描述】:
我正在尝试将现有项目重构为 PureMVC。这是一个 Adobe AIR 桌面应用程序,它利用了 AIR 中包含的 SQLite 库,并在此基础上构建了一些其他库:
- Paul Robertson 出色的异步 SQLRunner
- promise-as3 异步承诺的实现
- websql-js 提供良好措施的文档
我目前的数据库实现类似于 websql-js 的基于 Promise 的 SQL 访问层,它工作得很好,但是我很难看到它如何在 PureMVC 中工作。
目前,我的 VO 将与 DAO(数据访问对象)配对以进行数据库访问。我卡住的地方是如何在整个程序中跟踪 dbFile 和 sqlRunner 实例。 DAO 需要了解 sqlRunner,或者至少需要了解 dbFile。 sqlRunner 应该被视为单例吗?还是为每个数据库查询创建?
最后,如何将 dbFile 或 sqlRunner 暴露给 DAO?现在在我的脑海中,我看到将这些保存在一个 DatabaseProxy 中,它将暴露给其他代理,并在需要时实例化 DAO。 DAO 工厂模式呢?
我对 PureMVC 很陌生,但我真的很喜欢角色的结构和分离。请不要犹豫,告诉我这个实现是否行不通。
【问题讨论】:
-
显然我需要更多的声誉来发布 3 个或更多的链接,但这里是 websql-js 文档的链接,可以很好地衡量 websql-js.googlecode.com/hg/docs/websql.html
标签: sqlite actionscript-3 model-view-controller data-access-layer puremvc