分享

企业应用架构模式之数据源模式

 icecity1306 2015-05-23

一旦选择了领域层(见领域逻辑架构模式),就必须决定如何与数据源相联系,这时候的选择是以领域层的选择为基础的。一般里说有以下4种方法:表数据入口、行数据入口、活动记录、数据映射器。称之为数据源架构模式。

(1)表数据入口:充当数据库表访问入口的对象;一个实例处理表中所有的行。

表数据入口包含了用于访问单个表或视图的所有SQL,如选择、插入、更新、删除等。其他代码调用它的方法来实现所有与数据库的操作。

表数据入口是最简单的数据库接口模式,能很好的映射到数据库或数据类型上去。它可以同表模块一起很好的使用,可以产生一个记录集数据结构有表模块处理。同时,它也特别适合事务脚本。

 

(2)行数据入口:充当数据源中单条记录入口的对象;每行一个实例。

行数据入口提供了看起来像记录结构中记录的对象,但可以用编程语言的常规机制访问它。所有对数据源的访问细节都隐藏在这个接口之后。

它经常与事务脚本配合使用。

 

(3)活动记录:一个对象,它包装数据库表或视图中某一行,封装数据库访问,并在这些  数据上增加了领域逻辑。

      活动记录把数据访问逻辑至于领域对象之中。活动记录的数据结构应该与数据库中的结构完全匹配:类的每个域对应表的每一列。

      活动记录简单,适合不太复杂的领域逻辑。

 

(4)数据映射器:在保持对象和数据库彼此独立的情况下在二者之间移动数据的一个映射器层。它能够在内存对象和数据库中传递数据并保持他们彼此独立,以分离领域与数据源。

        数据映射器在处理查找方法上可以采用延迟加载,分离接口。另外把数据映射到领域对象的域可以采用丰富的构造函数,创建空对象等方法。它需要做的决策之一是存储如何将领域对象中的域映射到数据库列的信息。

        使用数据映射器的主要时机是数据库方案和对象模型需要彼此独立演变的时候。最常见的是与领域模型一起使用。其主要优点是无论在设计阶段、开发阶段还是测试阶段,在领域模型上操作时可以不关心数据库。领域对象对数据库的结果一无所知,因为所有这些对应关系都由数据映射器完成。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多