QeePHP 2.2: Working for DataMapper

在 QeePHP 2.2 中,将新增一个组件:DataMapper。

DataMapper 与现在的 ActiveRecord 一样是 ORM 服务组件。不同之处在于 DataMapper 更强调面向对象的风格,并且提供了一系列的自动化工具来提高开发效率。


有关 DataMapper 的设计思想,请阅读“Sexy ORM”。

经过努力,对于模型的解析已经接近完成。

BaseMember(源代码) 是所有会员模型的基础类,定义了所有类型会员都具备的基础属性和关联。而 Member(源代码) 是更一般化的会员,提供了针对会员领域的特定设置。

由于 DataMapper 对继承特性的良好支持,我们可以很容易的将领域模型进行拆分,拆分后的每一个领域模型都只关注自己应该承担的责任:

从源代码看,适用于 DataMapper 的模型更清晰易读。领域中必须的概念和内容都可以通过源代码来呈现,避免了现在 ActiveRecord 模式导致的数据结构和行为被人为分割的问题。

DataMapper 主要依赖于 PHP5 的反射来解析模型类。解析结果包含了模型的方方面面。由于解析结果可以轻松的缓存,因此 DataMapper 对模型类的解析并不会导致性能问题。

DataMapper 组件接下来的工作:

  • ActiveRecord 和 DataMapper 将使用同一个 ORM 基础架构,这样可以满足不同需求的开发者,并且能够充分保障已有的代码资源;
  • 为 DataMapper 提供一系列的自动化工具,完成诸如模型类转换为数据表设计等工作;
  • 在 WebSetup 中为 DataMapper 提供支持。

总的来说,我们希望 QeePHP 2.2 更符合面向对象开发的原则和实践,能够为开发者提供更好的开发体验和基础支持。当然,我们也会保证 QeePHP 2.2 的性能不会出现下降(实际上在 ORM 部分,性能应该会有显著的提高)。

相关文章:

  1. DataMapper for QeePHP 2.2
  2. QeePHP 的开发流程
  3. Sexy ORM
  4. 框架的设计思想对开发者的影响(一)
  5. git-svn 使用

8 Responses to “QeePHP 2.2: Working for DataMapper”


Leave a Reply