用于基于数据实体的类型应用集合函数的设计模式

时间:2018-03-14 13:14:43

标签: design-patterns software-design

实施例: 我在办公室有不同类型的员工:

  • 软件工程师
  • HR
  • 销售
  • 营销

我需要对员工的数据进行一系列操作:

  • 评估年终表现并给出评分
  • 根据评分,计算表现奖金
  • 根据评分,计算加薪百分比
  • 下次付款时发放奖金
  • 根据加息百分比更新薪水
  • 发送有关评级,绩效奖金和员工加息的电子邮件

问题:

  • 上述操作将与其运营的员工类型不同(例如,计算s / w工程师的绩效评级与营销人员相比会有所不同)。
  • 某些操作可能相同,但同样可能是对其他操作的增强(例如,根据软件工程师的加息百分比更新工资将与销售人员相同)。
  • 将来可能会增加一组新的员工,需要编写一套新的操作。

我的方法:

  • 我有一个驱动程序类,其中包含一个操作列表和employeeData。
  • 驱动程序中名为executeOperations的方法会逐一调用列表中的操作。
  • 驱动程序类将由我的主类初始化为一个对象,具体取决于我正在处理的员工数据类型,该对象将包含与从函数库中选择的员工数据类型相关的操作列表。 / LI>

解决这类问题的好方法是什么?

1 个答案:

答案 0 :(得分:0)

由于您的算法会根据对象的类型而改变,因此您可以使用Strategy Design Pattern

您可以根据员工类型更改计算和算法。