所在位置:答疑 - 内容   
根据"业务单据(入库单、领料、发票)"产生"财务凭证"
 

坐看云起 (1062259***) 2012-08-15 15:34:00
潘老师好,请教问题:根据"业务单据(入库单、领料、发票)"产生"财务凭证",并通过凭证可追溯查看单据,这
样的业务场景,领域模型如何画?
坐看云起 (1062259***) 2012-08-15 15:38:20
1、一种是每个业务单据和"凭证"实体关联
2、另一种是 业务单据有个抽象类,用抽象类和"凭证"实体关联
一点灵犀1.0c (1326304**) 2012-08-15 15:38:43
图啊,看不见图。。。
坐看云起 (1062259***) 2012-08-15 15:38:55
就是这两种画法,图我传不了
坐看云起 (1062259***) 2012-08-15 15:42:58
业务描述大致如下:
根据"业务单据(入库单、领料、发票)"产生"财务凭证",并通过凭证可追溯查看单据,这样的业务场景,领域模型应如何画?
现存在分歧点如下:
1、一种是每个业务单据和"凭证"实体关联
2、另一种是 业务单据有个抽象类,用抽象类和"凭证"实体关联
潘加宇 (3504847) 2012-08-15 15:44:02
每个单据都应该会有凭证,对吗?

坐看云起 (1062259***) 2012-08-15 15:44:11

潘加宇 (3504847) 2012-08-15 15:45:05
既然如此 业务单据-财务凭证 关联起来,会有什么麻烦?

坐看云起 (1062259***) 2012-08-15 15:46:52
对于财务系统来讲,应该不需要关心具体有多少业务单据,所以抽象
坐看云起 (1062259***) 2012-08-15 15:47:03
第1种的理由是从业务角度,认为就是根据单据产生凭证,所以画单据与凭证关联
第2种的理由是凭证是财务系统,是对外提供服务。所以认为凭证和单据的关联就用抽象类表示,财务域就不用知道有哪些单据
坐看云起 (1062259***) 2012-08-15 15:48:12
其实系统实现就是建立一个关联表,将业务单据ID 和 凭证ID作为属性
坐看云起 (1062259***) 2012-08-15 15:49:50
按第1种画法,系统实现是业务先调财务接口,然后财务再将调用业务接口,反写凭证号
潘加宇 (3504847) 2012-08-15 15:51:13
要不你还是把图或模型上传一下。
如果不涉及行为的变异,只是查询对象的信息,要解决各类凭证和单据属性各异的问题,就用物品模式表达即可

坐看云起 (1062259***) 2012-08-15 15:52:22
而财务应该不需要关系业务系统有哪些单据,所以就有第2种的画法。
个人感觉第1种是从业务角度理解,第2种是从实现角度理解的
那我的疑问是应该是从业务角度画还是从实现角度画?
潘加宇 (3504847) 2012-08-15 15:54:26
肯定要从"业务"(领域)角度画了,只不过你说的"实现"角度未必是实现角度,可能还是领域概念的问题

潘加宇 (3504847) 2012-08-15 15:56:07
发邮件给我吧,我看看,晚上回复