OOP设计问题

Tur*_*urd 5 oop design-patterns

得到这个面试问题,我想知道:

一家软件公司设计了一个管理员工的应用程序,以及其他功能,计算薪水.

符合客户要求的当前结构是:

abstract Class Employee;
Class Manager extends Employee;
Class Engineer extends Employee;
Run Code Online (Sandbox Code Playgroud)

现在,客户希望为每小时工资,月工资的员工添加支持不同类型工资计算的能力.工程师和经理都可以.

客户还通知软件公司,他们将来会增加许多其他类型的工资.

问题 - 你会如何设计?如果属于任何设计模式解决方案吗?

谢谢!

Doc*_*own 7

应用策略模式:

http://en.wikipedia.org/wiki/Strategy_pattern

使"Salary_Calculation"成为与Employee关联的策略."Salary_Calculation"应该是一个接口或一个抽象基类,每个工资计算模型都是它的子类.