0

我正在使用 java 中的一个类项目并具有以下设计规范。

我有一个科学家课程和一个 ABCFundingApplication 课程(ABC 是一个为科学家提供研究资金的机构)。科学家具有某些属性,例如他的用户名、密码、发表的论文数量、过去获得的资金等。

ABCFundingApplication 类包含一个科学家类型的数组,其中包含科学家对象。ABCFundingApplication 允许“创建”科学家对象以及更新现有科学家对象的配置文件。

现在它说 ABC 部门通过使用他们公司的一些内部流程来计算科学家是否获得资助(在此处插入资助算法)。

规格表说我们要在科学家类的方法中包含这个funding_decision算法,我的问题是为什么我们不能将它作为 ABCFundingApplication 类的一部分,只检查科学家数组中的特定科学家对象是否/她将获得资助?在我看来,这将是一个更清洁的实现,不是吗?

4

1 回答 1

1

在某种程度上,我可以理解为什么规格表说要包括funding_decision在科学家类中。这就像将“Throw”方法放在“Dice”对象上。也因为它ABCFundingApplication不仅仅是一个提供资金的机构,它还创建和更新它们。但是我更喜欢把方法放在ABCFunding类中,这个类代表身体,但不会做科学家的创建或更新。它将扩展接口 Funding,因此如果有一个DEFFunding类,您可以覆盖determineFunding每个资助机构的方法。

于 2013-08-31T05:55:41.990 回答