《分析模式:可重用对象模型》学习笔记之四:企业财务分析中的观察和测量04

1.2.3 状态类型(Status Type):定义计划(Planned)状态和实际(Actual)状态


由数据源或计算所得的测量(Measurement)通常通过他们的测量协议得到结果,测量协议
(Measurement Protocol)可以为测量(Measurement)提供一个工厂(Factory3)方法(来创建测量对象),当客户需要创建测量对象时,需要提供测量的对象(Object of Care),需要说明是实际测量还是计划测量,如果是计划测量,则需要给出相关的计划,如果是实际测量,则需要制定实际测量的日期。


想想,是不是可以把测量的状态信息提取出来到 Status Type 类,单独表示?如下图:

在这个模型中,把观察的状态从Observation 当中抽取出来,放到一个单独的类中间,这样还可以方便扩展到其他可能的状态。而且,客户创建测量时只需指定测量状态就可以了,如果是比较性的测量,则需要两个状态,给予两个参数。如果对这种情况更进一步明确表述,还可以得到下面的模型:


疑问:原文中Actual和Planned是两个Status Type的子类,而笔者认为,作为Simple Status Type
的子类就可以了。

 

1.2.4 创建测量实例(Create a Mesurement)


从上一节基本了解到了创建Measurement 对象的大致方法,下面我们来看具体的创建过程,创建过程分为三个步骤:首先找到参数(arguments),然后执行一个公式(formula),然后用所得的结果创建一个新的Measurement 对象,在这个过程中,参数查找是一个多态的操作,取决于我们要创建因果关系还是比较关系的测量对象。创建过程的序列图如下所示:

 

活动图如下所示:

 

细化因果关系测量的参数查找过程,可以知道,首先要得到所有同一状态类型的测量和测量针对的对象(Object of Care),这些测量目标对象的类型和协议的输入匹配;而比较关系的测量计算公式,则需要查找两个同输入类型匹配的测量实例(同样的针对对象),这两个实例的状态类型分别是比较和被比较的对象。 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值