我正在做一个java类项目,并有以下设计规范。
我有一个科学家类和一个ABCFundingApplication类(美国广播公司是一个资助科学家研究的机构)。科学家具有特定的属性,如他的用户名、密码、发表的论文数量、过去获得的资金等。
ABCFundingApplication类包含一个类型为scientist的数组,该数组包含科学家对象。ABCFundingApplication允许“创建”科学家对象,还可以更新现有科学家对象的配置文件。
现在它说ABC部门通过使用他们公司的一些内部流程来计算科学家是否接受资助(在这里插入资助算法)。
规格表上说,我们要在科学家类的方法中包含这个funding_decision算法,我的问题是,为什么我们不能把它作为ABCFundingApplication类的一部分,只检查科学家数组中的特定科学家对象,他/她是否会获得资助?在我看来,这将是一个更干净的实现,不是吗?
发布于 2013-08-31 13:55:42
在某种程度上,我可以理解为什么规格表上说要将funding_decision纳入科学家类。这就像把“掷”方法放在“骰子”对象上。此外,由于ABCFundingApplication不仅仅是一个提供资金的机构,它还创建和更新资金。但我更喜欢将方法放在ABCFunding类中,这个类将表示主体,但不会创建或更新科学家。它将扩展Funding接口,因此如果出现DEFFunding类,您可以覆盖每个funding body的determineFunding方法。
https://stackoverflow.com/questions/18544878
复制相似问题