表格模块与表格之间的区别交易脚本

时间:2012-01-16 19:46:44

标签: c# .net architecture

我不明白Martin Fowler所说的那些模式之间的区别是什么:

  

事务脚本按程序组织业务逻辑,其中每个过程处理来自演示文稿的单个请求。

  

表模块一个实例,用于处理数据库表或视图中所有行的业务逻辑。

另外

  

您可以通过两种方式将事务脚本组织到类中。最常见的是在一个类中有几个Transaction Scripts,其中每个类定义相关Transaction Scripts的主题区域。这很简单,对大多数情况来说是最好的选择。另一种方法是使用Command模式[Gang of Four]将每个Transaction Script放在自己的类中(图9.1)。

所以我可以在表模块中做到这一点我可以为每个表示请求提供方法,因为我可以在事务脚本模式中使用DataSet或RecordSet。那么我应该如何知道我的域逻辑中应该使用哪种模式?

3 个答案:

答案 0 :(得分:6)

我认为基本的区别在于所涵盖的业务逻辑的范围。在表模块中,您仅限于一个表或视图,但事务脚本不是。

例如,假设您有一个跟踪金融交易的表,并且您的业务逻辑规定每次更新金融交易时,与交易相关的预算也会在单独的表中更新。

对于表格模块,您需要两个程序,一个用于财务交易,一个用于预算。

对于Transaction Script,您只需要更新两个表。

答案 1 :(得分:0)

请参阅下图中的事务脚本功能摘要: 其中不同的层和它们各自的分离是清楚的。在每个部分中,我带来了当前和可用的模式。

enter image description here

答案 2 :(得分:0)

我认为,“交易脚本”和“表格”模块之间最重要的区别之一是Table Module,我们处理数据(通常是结果集)。但是,在Transaction Script中,我们直接使用数据库或Table Gateway。
因此,我们不能在没有数据库的情况下测试Transaction Script,但只能在模拟的结果集中测试Table Module