java生成:发奖金+收税+免税的升级版 整合发奖金、收税、免税三种计算需求(需求的变化) ; 各类金的计算方式越来越多(需求的变化)-工厂模式 员工的类别越来越多(需求的变化)-工厂模式 人的“头衔”变多了:如技术出生,但又从事管理工作(项目经理)(需求的变化)-装饰者模式 除了奖金的计算,还出现多种“金”的计算,如公积金计算、医保、社保等等计算(需求的变化)-策略模式
时间: 2023-06-18 17:07:10 浏览: 136
Java基础编程:企业发放的奖金根据利润提成-Java实现
好的,根据你的需求变化,我可以给出以下的设计思路:
1. 发奖金、收税、免税的计算方法可以放在一个接口中,例如 ICalculate 接口,并分别实现不同的具体计算类。
2. 对于各类金的计算方式越来越多的情况,可以使用工厂模式,例如通过一个金的工厂类来统一生成各种金的计算类。
3. 对于员工的类别越来越多的情况,同样可以使用工厂模式,例如通过一个员工工厂类来统一生成各种员工类别的实例。
4. 对于人的“头衔”变多了的情况,可以使用装饰者模式,例如定义一个 Employee 类,然后通过不同的装饰者类(例如 ManagerDecorator)来为其添加不同的“头衔”。
5. 对于除了奖金的计算,还出现多种“金”的计算的情况,可以使用策略模式,例如定义一个 CalculateContext 类来调用不同的计算策略(例如公积金计算策略、医保计算策略)。
这样设计可以将各种需求变化解耦,方便扩展和维护。
阅读全文