类的设计问题 (100分)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在正在做一个考勤系统,在系统的设计阶段遇到如下问题;
系统需要记录员工正常出勤情况外,还要纪录“请假”、“出差”、“加班”事件,其中“请假”、“出差”可能在事件发生前就能确定“请假”或“出差”的天数。也可能在“请假”或“出差”结束后进行“消差”或“消假”。
问题是记录员工的“出差”、“请假”、“加班”事件是否需要对每个事件抽象出一个类

 
每个事件抽象为类? 没有必要分得这么细吧.
 
我的遇见:
应将处理方式类似的归为一类,如:婚假,产假等不扣工资的;病假,事假等要扣工资的;加班,出差等要发补助的。
 
我的看法:
估计你的这些类都有这些操作(方法)

延期

计算应扣/补
...
最好抽象出来一个抽象基类
然后在再参照blyb的意见,派生出不同类型的类,来控制这样的业务规则:婚假,产假等不扣工资的;病假,事假等要扣工资的;加班,出差等要发补助的。
然后再是‘出差’,‘请假’。。。

 
不用对每个事件都产生一个类吧,最多可以设计一个基类,再继承就好了。
 
初步建议如下
1。工作类(总之类似的名字吧)(属性有:起始时间 终止时间 积分或者表明业绩奖金等的属性。。。)
从这里继承:出勤类 出差类 加班类 请假类(这里继承有:事假类 病假类 婚假类 产假类。。。)
2。员工类
从这里继承下来的有销售人员、普通职员等等 可以有一些表明级别 、待遇的属性、还应该有一个工作类类型的成员
 
可以手动注释+修改的
 
沒必要....
 
哈哈,密切关注事态的发展
 
看看 Robet C.Martin的<敏捷软件开发 原则,模式与实践>
里面有个类似的例子.
 
我看过这本书,你指的是哪个例子?
 
T基类 = class(XXX)
private
起始时间
结束时间
影响工资额
...
T事假类 = class(T基类)
影响工资额 < 0
...
T产假类 = class(T基类)
影响工资额 = 0
...
T加班类 = class(T基类)
影响工资额 > 0
...
 
可能和"薪水支付案例"有点类似
 
后退
顶部