关于项目结构设计
作者:互联网
需求:因为项目启动的时候的,某欧客户对项目做成什么样子也不清楚,对于一些字段数据没法定下来,或者定下来后,又要新增或者修改或者删除。
以往设计:每个业务字段在数据库里面都有一个业务字段。但是在客户没法定下来具体需要哪些字段的这种情况。使用这种设计的话,每次新增或者删除字段,需要对实体类进行改动,以及删除字段的时候,给下游传值那块业务也要改动,和某条产品数据从产品开发到产品发行也要删除。前端页面的字段也需要改动,改动非常大。
所以我们对这块设计进行抽象化。 希望页面需要哪些字段可以在数据库保存。当需要新增的时候,在数据库插入,当需要删除字段的时候,在数据库标记一下前端页面就不显示了。
基于这个需求:我们的表设计改成了 三个表 element表 :主要保存页面元素的表,
字段主要有
1:elementId主键id 元素类型(前端需要把这个元素渲染成什么控件);
2:后端变量名;
3:前端显示的label名
4:取值范围标识
5:是否开启
step表:主要存储前端页签之前的关系,里面的数据关系是一个树形结构
字段主要有:
1: stepId 主键
2:页签标识
3:父级页签
4:是否开启
5:页签类型(进去这个页签是抽屉框、扩展页签)
config表:主要配置元素和页签的关系
字段主要有:
1:主键id
2: 元素主键
3:步奏标识
4:取值范围标识(比如有些下拉框是有取值范围的)
5:是否开启
6:是否必填(发送给下游服务的时候,进行校验)
7:sort(页面上元素的排序)
配置表主要有这些
存储信息的表:
分两种:
文本信息: 1:主键,2:步奏id,3: configId 4:inputValue 用户输入数据 ,5 逻辑删除
附件信息: 1:主键,2:步奏id, 3:configId 4:文件名称 ,5 :文件路径 ,逻辑删除
标签:删除,项目,元素,id,字段,关于,主键,结构设计,页面 来源: https://www.cnblogs.com/zhongmeilin/p/16486169.html