如何为Employee设计Java Contract类

时间:2016-02-28 16:46:32

标签: java class oop

我正在为员工管理系统设计一个班级 类员工有以下字段:

:Employee  
id:int  
firstName:String  
lastName:String  
contract:Contract

班级合同有以下字段:

:Contract  
-contractNo:int  
-contractDate:Date  
-contractType:Type  
-rate:Double  
-function:Function  
-contractCopy:File

当个人在公司内工作时,他/她以约定的费率,职能等签订合同。管理层不时修改合同并更改费率和/或职能。

有人可以建议如何设计一个存储合同修订的类吗?用户需要查看原始信息和所有修订。

2 个答案:

答案 0 :(得分:2)

你已经有两个很好的实体来创建类:ContractEmployee,这两个实体也可以创建很好的表来存储数据。

我会创建一个ContactRevision类,其中包含可以修改的Contract字段。

例如:

:ContactRevision
  -contractType
  -rate
  -modifiedOn
  -modifiedBy

然后,您可以向名为Contract revisions的名为List<ContractRevisions>的{​​{1}}实体添加一个属性,其中包含addRevisiongetAllRevisions等操作,以显示更改后的值如果需要的话。

答案 1 :(得分:0)

您可以使用事件采购模式。它将允许您跟踪更改历史记录。

简而言之,您为每次更改创建了一个事件,因此您可以随时查看它。

您可以在此处找到更多信息: