后端建模和前端数据展示
持续精进
1、存在的问题
最近开发过程中遇到些设计上的问题,在此记录
- 使用Spring Feign的时候,接收三方的Response,直接使用第三方定义的Vo类,导致后期扩展有问题
- 后端在数据建模的时候,需要抽象出高层级的数据结构,试图统一配置。 但是前端同学不愿意了
2、问题思考
2.1 接收三方实体类问题
这个是设计预留,还是后面重构的问题。 个人觉得
- 自己定义VO类 extengs 三方的VO类,接收第三方结构后拷贝一份最好。 后期即使需要自定义处理字段啥的,也方便增减
- 即使没有自定义,那么也要后期敢于重构,不要嫌麻烦
2.2 数据建模
当时是有个配置页,需要给一个页面配置多个按钮, 在我看来,功能都一样,每个位置都是按钮名称 + 跳转的Url,就是位置不一样
当时的设计类似于
[
{
"type": 1,
"name": "按钮1",
"content": "www.baidu.com"
},
{
"type": 2,
"name": "按钮2",
"content": "www.baidu.com"
}
]
想着根据type =1 来判断 按钮1 ,type =2 来判断按钮2。 可是和前端讨论(battle)后 ,被前端说服了, 这种场景就应该明确使用地方, 按钮1 就应该用按钮1的名字,按钮2就该用按钮2的名字。 如下
{
"button1":{
"name":"",
"url":""
},
"button2":{
"name":"",
"url":""
}
}
这样在后端设计的时候,可以设计一个通用的内部类。 这样在设计上,进行了兼容。 前端也能直接按 one 、 two 进行拿
@Data
public class Result{
private Button one;
private Button two;
@Data
static class Button{
private String name;
private String url;
}
}