茫茫沧海

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  最近看了Clifton Nock的数据访问模式-面相对象应用中的数据库交互,觉得不错,有许多收获,说出来大家讨论讨论(书还没看完)。

1.1、        数据访问器

A、分开了程序逻辑与数据库访问控制。

B、通过定义数据访问接口向程序逻辑公开数据库操作的抽象。

C、应用程序根据接口向数据访问器提交参数查询,参数可以包括表名、列名、值等。

D、应用程序完全控制类(构造、使用、保存、修改、析构),程序逻辑与类控制混合在一起。

E、 可对对数据库的访问进行必要的控制(比如:哪个表只允许增加,哪个表只允许修改)

1.2、        主动域对象

A、分开了程序逻辑与类控制。

B、主动域对象全职负责所有类的控制(构造、保存、修改、析构)。

C、程序逻辑只负值类的使用,不过数据模型和数据操作。

D、应用程序根据接口向数据访问器提交参数查询,参数可以包括表名、列名、值等。

E、 每个类对自己的所有实例数据进行控制。每个类单独联系数据库。

F、 (可创建一些多记录实例类)

1.3、        对象/关系映射

A、针对主动域的数据库访问控制分散,不好管理的确定,增加了对象/关系映射。

B、域对象都不需要关系映射关系。

C、一开始便在系统中定义逻辑模型与数据库模型的对应关系:类与表、对象与行、属性与列。

D、对应关系,以及访问控制都定义在数据库中或者XML中。

E、 所有基于对象的数据库操作都交给基于原始定义的组件完成。

F、 有点像.net的哪个数据集。

1.4、       

A、在主动域的基础上,增加了“数据库访问器”和“连接控制器”。

B、根据具体的业务可以抽象为更多层次,每一层分管具体的细节

C、定义清晰时,能够做到根据业务变动,插入特殊的层。


 

1.5、        对应asp.netB/S系统应该采用的模式(个人看法)

A、 “界面层”和“界面控制层”统称表示层,负责界面的生成、现实,界面事件的捕捉等。

B、“界面层”主要负责界面的排版布局,界面的样式等。

C、“界面控制层”主要负责界面控件的数据绑定,特殊控件的调度。

D、“应用程序逻辑层”和“域对象层”统称业务逻辑层。负责系统抽象系统模型,处理系统业务等。

E、 “应用程序逻辑层”根据实际业务,实例化对象,生成、使用和删除对象,调用对象方法。

F、 “域对象层”负责对象的构建,各个方法的实现,以及对象的实例化(对应数据库中的记录)。

G、“域对象访问控制层”和“数据库连接控制层”统称数据访问器层,负责连接数据库,并根据需求进行必要的访问操作。

H、“域对象访问控制层”通过类来划分,每一个“域对象”都有单独的接口访问数据库。

posted on 2007-09-10 14:25  varmc  阅读(669)  评论(2编辑  收藏  举报