Bootstrap

设计模式-领域逻辑模式-事务脚本(Transaction Script)

事务脚本的特点

  1. 多数应用可看成由多个事务组成
  2. 事务脚本将多个业务逻辑组织成单个过程
  3. 事务间相互修改各自产生的数据

事务脚本的运行机制

     使用事务脚本时,领域逻辑主要通过系统所执行的事务来组织。例如:预定酒店过程。


事务脚本的组织

  1. 将整个事务脚本放在一个类里
  2. 每一个事务脚本对应一个类,需要使用命令模式[Gang of Four ]
  3. 全局函数

示例

收入确认过程:某公司出售三种产品:word,excel,数据库。由于存在分期确认收入的因素,业务规则如下:

  1. 当签下一个售出word合同时,所有收入立即入帐
  2. 当签下一个售出excel合同时,当天入帐1/3,60天后入帐1/3,90天后入帐剩下的1/3
  3. 当签下一个售出数据库合同时,当天入帐1/3,30天后入帐1/3,60天后入帐剩下的1/3

事务脚本建立步骤

Step1 建立三个关系

products

contracts

revenueRecognitions

ID(primary key)产品ID

ID (primary key)合同ID

contract (primary key)

name产品名称

product产品

amount确认金额

type产品类型

revenue合同金额

recognizedOn (primary key)确认日期

dateSigned合同日期

Step2 建立两个事务脚本

  1. 查询某合同在指定日期前已经确认的收入额(在收入确认表中选择相应的行;相加计算总数)
  2. 计算合同的收入确认,分两步

;