ObjectSpace 基础
摘要:介绍O/R映射,和ObjectSpace相关的基础知识
一、 O/R Mapping框架
1、 O/R Mapping介绍
在我们开发应该程序的时候,总是要跟很多数据打交道,为这些处理主要是围绕这数据的查询于存储。对于要处理高可靠性和一直性数据的时候我们一般采用数据库,例如:SQL Server。我们都知道SQL Server等数据库都是建立在关系模型之上的,而现在我们大部分所使用的语言(C#和VB.NET,Java)都是面向对象的,这就产出了矛盾,在O/R Mapping框架出现前我们处理数据存储都不是用完全面向对象的方法,而将就数据库用半过程型(写一个保存数据的方法或是通过一个控制类来组合对象)的方法来存取数据。就拿SQL Server数据库带的例子NorthWind来说明,其中有Customer、Order、OrderDetail表,在.net下我们会用DataSet来存取他们,并加入约束和关系,从面向对象方法来做应该是这样的Customer对于多个Order,那么Order应该是Customer对象的一个属性,这个属性就是Order对象,而不只是Order表中储存的一个CustomerID,如果用DataSet来做就需要编写Sql语句或者是存储过程来查询实现,这就需要额外的控制类来完成,实际上ObjectSpace就是用来完成这一过程的框架。
在以往很多失败的项目其原因就是在数据访问上,如果我们有几百个对象,有几百张表可以想像这样的系统数据访问是多么庞大,ObjectSpace的出现可以说是一个革命,我们只需要使用映射工具生成映射稳定,然后剩下的工作就由ObjectSpace来完成,而且数据库设计的地位不再象原来那么神圣了,基本上我们做完分析后,数据库的表就可以根据分析出来的实体对象得到。
(未完待续)