我有一个现有的类层次结构,这样说:
Business
- Division
- ProjectTeam
- Employee
这些类是通过反序列化实例化的。
但是,现在我需要在 Employee 中为库的特定用户公开额外的字段,即这样说:
SpecialBusiness (extends Business)
- Division
- ProjectTeam
- SpecialEmployee (extends Employee)
- Degree
问题是,我不能只创建一个扩展“业务”的类,因为我想要添加的是“员工”类。
正如我所看到的,我有两个选择:
使用“特殊”类复制层次结构。这意味着每个“特殊”类都将有一个原始类的集合和一个新的“特殊”类的集合。
SpecialBusiness - Division AND SpecialDivision (extends Division) - ProjectTeam AND SpecialProjectTeam (extends ProjectTeam) - Employee AND SpecialEmployee (extends Employee) - Degree
出于反序列化目的,在运行时以某种方式将 'Employee' 重新键入为 'SpecialEmployee'。知道我可以将 SpecialBusiness 中的所有“Employee”对象转换为代码库中的“SpecialEmployee”(可能使用辅助方法使其显而易见)。
关于如何处理这个问题的任何想法?