1 、标签存在于常量类或枚举类中,以供业务代码引用:
后端代码中会引用标签,具体业务场景比如:
1 ) if 条件判断
2 )满足某情况 1 时,需要输出(tagA+tagB+tagC);而满足情况 2 时,输出(tagE+tagF+tagB)
相当于将这些知识以符号定义的形式存储于后端代码当中(可以理解为配置文件)。且此类配置定义量大且偶尔发生变化,且由于人工维护,要求可读性比较强,因此也不考虑放入数据库中。(否则线下、线上环境同步,以及配置变更时的修改问题非常头疼)
前端代码中会对标签进行一些判断处理,因此也会自己维护一套枚举
2 、标签也存在于数据库中
因为标签本身会新增,所以枚举文件和数据库也会发生变动
标签表与其他数据库表有关联。
对标签进行统一 /规范化, 避免出现数据库和代码定义不一致、前端与后端不一致等情况,同时实现方式尽量优雅
我先写下自己的想法,抛砖引玉,希望各位大佬给些建议:
标签一律在数据库中维护, 同时开发一个工具,解析数据库数据,生成 java 、js 等枚举类代码,发布到公司 maven 仓库等形式,提供其他系统进行引用。
1
WizardMeow 2021-06-04 00:50:11 +08:00 via Android
protobuf
|
2
palexu OP @WizardMeow 感谢~
刚去学习了一下:定义 proto 文件,一键生成多语言代码,可以方便其他系统引用。这样就省去造轮子时间了~ 不过“查询数据库结果集,生成 proto 文件” 这一步骤,刚找了下没看到有对应工具,这个就得自己开发了是吧? |
3
zhangdszq 2021-06-18 08:01:40 +08:00 via iPhone
我们会有业务代码引用标签进行判断,比如给用户打标签 “禁止登陆”, 那么登陆时标签存在就禁止登陆,不知道场景是否类似?
|
4
palexu OP |
6
zhangdszq 2021-06-21 12:00:02 +08:00
|
7
zhangdszq 2021-06-21 12:00:19 +08:00
<img src='https://files.catbox.moe/apawl4.png'>
|
8
zhangdszq 2021-06-21 12:01:24 +08:00
|