我正在考虑为更大的应用程序设计实体基类,并希望得到一些意见。主要是如果指定的是必须完成的方式,或者是否有更清洁的方式。
在解决方案中,我有一些baseclass
所有实体都将继承的变体。关系可以指定如下:
EntityBase//the primary baseclass containing name and id + other stuff
NestedEntityBase:EntityBase //(if class will be able to contain lists of itself)
VersionedEntityBase:EntityBase //(Some parameters specific for versioned entities)
VersionNestedEntityBase:NestedEntityBase// (versioned AND nested)
CurrentStateEntityBase:VersionedEntityBase// (the currentstate objects)
VersionStateEntityBase:VersionedEntityBase// (old objects, saved when surrentstate objects change)
CurrentStateNestedEntityBase:VersionNestedEntityBase// (the currentstate objects)
VersionStateNestedEntityBase:VersionNestedEntityBase //(old objects, saved when surrentstate objects change)
不幸的是,这会造成一些代码重复,因为多重继承是不可能的。
它还将为通用服务和通用控制器基类设置部门。
这是必须如何处理还是我错过了一些更有效地做到这一点的聪明方法?