Oop Fowler&x27的接口应该是什么;什么是观察?

Oop Fowler&x27的接口应该是什么;什么是观察?,oop,Oop,在分析模式中,Fowler描述了如何处理临床观察,这些观察可以是数值测量,也可以是分类观察(没有或存在症状、性别等)。以下是相关图表: 该图表明,观察应该是测量和类别观察的某种公共接口。但我看不出在强类型语言中如何做到这一点。例如,假设我想重复对一个人进行的所有观察,并根据它们是测量还是类别观察,做一些不同的事情,我如何避免像测试对象类型、铸造等这样的欺骗呢?我的理解是这样的(我可能错了)。数量和类别都来自一个公共接口(可能称为ObservationParameter),这个接口有API来处理

在分析模式中,Fowler描述了如何处理临床观察,这些观察可以是数值测量,也可以是分类观察(没有或存在症状、性别等)。以下是相关图表:


该图表明,
观察
应该是
测量
类别观察
的某种公共接口。但我看不出在强类型语言中如何做到这一点。例如,假设我想重复对一个
人进行的所有
观察
,并根据它们是
测量
还是
类别观察
,做一些不同的事情,我如何避免像测试对象类型、铸造等这样的欺骗呢?

我的理解是这样的(我可能错了)。数量和类别都来自一个公共接口(可能称为ObservationParameter),这个接口有API来处理由底层类型封装的数据(例如评估或比较,请原谅我对该领域缺乏了解)。因此,在对人员进行迭代时,只需获取observation.getObservationParameter().evaluate()(…或类似内容)通过这种方式,您仍在使用抽象类型,而不需要强制转换或检查。适当的数字或分类逻辑将分别通过数量和类别的具体实现来实现。

具有11.5k代表的人应该知道为什么我会将其标记为结束