公司需要设计一个信息管理系统的存储对象实体模型
领导要求如下:
模型通用,统一用一套模型,一套对外 api
业务场景:
可能有各种内容类型,比如有用户发的文档,汽车的车型描述,店铺信息
然后如何实现一个模型容纳各种类型的数据,就可能有几种设计思路
# 1 取不同类型内容的字段并集合
比如设计如下:
dataType:数据类型,有汽车,文档,店铺
industry:行业,所有实体都有
carType:车型,比如小轿车
fileType:文件类型,比如 excel
# 2 尝试设计一些公用字段,根据数据类型有不同的解释
比如设计如下:
dataType:数据类型,有汽车,文档,店铺
industry:行业,所有实体都有
entryType:对于汽车是车型,对于文件是文件类型
# 3 根据内容类型有子实体
比如设计如下:
dataType:数据类型,有汽车,文档,店铺
industry:行业,所有实体都有
entryData<T>:{}
对于汽车
entryData={
carType:车型,比如小轿车
}
对于文档
entryData={
fileType:文件类型,比如 excel
}