企业应用架构模式之工作单元模式

news/2024/6/3 7:20:32 标签: 工作, 企业应用, 数据库, c
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views">
class="tags" href="/tags/GongZuo.html" title=工作>工作单元模式是一种对象-关系行为模式。其定义如下:维护受业务影响的对象列表࿰c;并协调变化和并发问题的解决。

该模式主要考虑的问题是:class="tags" href="/tags/ShuJuKu.html" title=数据库>数据库的数据读入内存后的数据对象࿰c;被改变后在什么时机提交。一般而言࿰c;可以有两种提交方式࿰c;即时提交和择机提交。

(1)即时提交:当对象改变的时候马上提交到class="tags" href="/tags/ShuJuKu.html" title=数据库>数据库。这样的好处是不需要维护一个受影响对象的列表࿰c;但是会导致class="tags" href="/tags/ShuJuKu.html" title=数据库>数据库的连接操作过多࿰c;影响性能。而且࿰c;它对性能的影响会导致系统响应变慢。


(2) class="tags" href="/tags/GongZuo.html" title=工作>工作单元保存对象的变化࿰c;择机提交。  择机提交需要考虑两方面的事情࿰c;对象变化的记录与提交时机。

   对象变化的记录可以考虑以下3种方法:

a,调用者注册࿰c;数据对象用isDirty的标识࿰c;调用者改变数据对象后࿰c;将该标识置为True

b,对象注册࿰c;对象的每个Setting方法都会自动将isDirty的标识置为True

c,拷贝对象:(1)读操作时拷贝࿰c;在提交的时候比较当前对象与拷贝对象࿰c;看对象是否发生了改变。(2)写操作时拷贝࿰c;一旦对象发生写操作࿰c;拷贝对象࿰c;提交时把所有对象直接提交即可


提交时机也可以考虑以下方法:

a,定时提交,使用定时器࿰c;隔固定时间提交一次。

b,修改累积到一定量的时候提交࿰c;设置一个受影响对象个数的阈值࿰c;当达到阈值的时候提交。

c,退出时提交࿰c;退出系统是提交修改。


cle>

http://www.niftyadmin.cn/n/1617927.html

相关文章

企业应用架构模式之标识映射

标识映射也是一种对象-关系行为模式,其定义如下:通过在映射中保存已加载的对象,确保每个对象只加载一次;当要访问他们的时候,通过映射来查找它们。标识映射的主要目的是保持一致性,而不是提高性能。 一般而…

企业应用架构模式之延迟加载

延迟加载也是一种对象-关系行为模式,其定义如下:一个对象,它虽然不包含所需要的所有数据,但是知道如何去获取这些数据。 当一个对象的状态,需要从外部获得时,系统就需要从外部(包括数据库&#…

企业应用架构模式之领域逻辑模式

一般的,企业架构过程从领域层开始的,一些经典的领域逻辑方法也就被称之为领域逻辑模式。主要有:事务脚本、领域模型、表模块。选择依据实际领域逻辑的复杂性,事务脚本是最简单的,而领域模型则比较复杂。 (1…

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

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

企业应用架构模式之对象-关系结构模式

前面已经介绍了对象--关系行为模式,包括工作单元、标识映射、延迟加载,这些都是协调内存对象与关系数据库之间行为操作的一些方法。内存对象与关系数据库除了行为需要协调之外,在结构上也需要一些方法来保证彼此的完整,这就是对象…

企业应用架构模式之对象-关系元数据映射模式

对象-关系元数据映射模式是用来描述数据库中域是如何对应到内存对象中的域的,它包括元数据映射、查询对象、资源库三种模式。 元数据映射:在元数据中保持对象-关系映射的详细信息 该模式最主要的决策是如何根据运行代码来表示元数据中的信息。解决方案有…

企业应用架构模式之Web表现模式

(1)MVC:把用户界面交互分拆到不同的三种角色模型、视图、与控制器上。 模型表示领域信息对象;视图表示UI中模型的显示;控制器获得用户输入,对模型进行操作并更新视图。 MVC关注两个分离:从模型…

给黑莓程序添加快捷键

黑莓开发文档中描述了如何给应用程序添加快捷键。 In your Project Properties in the Integration Development Environment (IDE), click the Resources tab. Under the Title ID option, specify the Resource variable name (App_Title) which corresponds to the actual…