我正在为员工管理系统设计一个班级 类员工有以下字段:
:Employee
id:int
firstName:String
lastName:String
contract:Contract
班级合同有以下字段:
:Contract
-contractNo:int
-contractDate:Date
-contractType:Type
-rate:Double
-function:Function
-contractCopy:File
当个人在公司内工作时,他/她以约定的费率,职能等签订合同。管理层不时修改合同并更改费率和/或职能。
有人可以建议如何设计一个存储合同修订的类吗?用户需要查看原始信息和所有修订。
答案 0 :(得分:2)
你已经有两个很好的实体来创建类:Contract
和Employee
,这两个实体也可以创建很好的表来存储数据。
我会创建一个ContactRevision
类,其中包含可以修改的Contract
字段。
例如:
:ContactRevision
-contractType
-rate
-modifiedOn
-modifiedBy
然后,您可以向名为Contract
revisions
的名为List<ContractRevisions>
的{{1}}实体添加一个属性,其中包含addRevision
或getAllRevisions
等操作,以显示更改后的值如果需要的话。
答案 1 :(得分:0)
您可以使用事件采购模式。它将允许您跟踪更改历史记录。
简而言之,您为每次更改创建了一个事件,因此您可以随时查看它。
您可以在此处找到更多信息: