系统设计之数据建模(一)

后端建模和前端数据展示

持续精进

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;
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值