我有一名员工分为两类(国内和国际)。我还有一次退货,这是用来给员工退款的。我有一个名为“银行帐户”的课程,是退款班用的。
现在,我的即时设计如下:
员工界面,分国内和国际两大类.
退款类在构造函数中接受银行。
退款类的一种粗伪码
Class Refund
Refund( bank account )
Public class Refund( employee ) {
If (employee is domestic) {
Pay to bank
Account for taxes
} else {
do currency conversion
Pay to bank
Call some 3rd party to do taxation
}
}
}下面是我的问题:
发布于 2017-06-08 14:52:46
在我简短地阅读了你的问题后,我认为你所寻求的是双重派遣。见例如patterns/visitor/java/2
发布于 2017-06-08 14:38:13
为了保持OO设计并使其可扩展,而不将功能转移到Employee类,您可能只需向employee类添加属性,例如employee类型(国内/国际)以及退款类型,然后可以使用现在可扩展的退款类来进行特定类型的退款?
发布于 2017-06-08 14:45:51
雇员-> Account[]与类型,货币-> Entries[]
带有货币的雇员-> Account[] ->带有类型的Entries[]
您可以使用每个帐户类型(退款)和货币,或更好的帐户只对每种货币和条目类型(退款)。
其余的都应该通过服务来完成!
https://stackoverflow.com/questions/44438531
复制相似问题