架构模式DCI
Posted 冰茶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了架构模式DCI相关的知识,希望对你有一定的参考价值。
架构模式有以下:
- MVC
- DDD
- 六边形
- DCI
DCI(Data, Context, Interactive)
(未完待续)
DCI其中的一个特点是, 小类大对象
以下为简单示例
以功能权限配置为例子介绍:
- controller:
解析请求参数,validate入参,调用service层方法,完成业务操作。
例子:
配置功能权限。
解析请求参数,validate参数是否合法,调用service层方法,完成业务。
相关接口,对应SystemController - service:
操作model,完成业务逻辑所需最小的数据操作。
例子:
配置功能权限,需判断当前操作人身份,然后进行配置。
通过解析操作人所对应权限组、权限、接口
通过数据权限解析操作人对应system
校验是否存在功能权限和相应数据权限
再进行事务,检测是否存在,不存在通过model层方法,添加权限配置。
相关业务,汇聚成FuncPermissionService - model:
多张表(对应Gorm多个struct)组成模型。
例子:
系统功能权限配置需要:
system
system-privilege-group
privilege-group
privilege-group-privilege
privilege
privilege-api
api
等数据表,这些表共同构成FuncPermissionModel
以上是关于架构模式DCI的主要内容,如果未能解决你的问题,请参考以下文章
ruby 描述Ruby中的DCI(数据,上下文,交互)架构。