架构模式DCI

Posted 冰茶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了架构模式DCI相关的知识,希望对你有一定的参考价值。

架构模式有以下:

  1. MVC
  2. DDD
  3. 六边形
  4. 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的主要内容,如果未能解决你的问题,请参考以下文章

DCI架构是如何解决DDD战术建模缺点的?

ruby 描述Ruby中的DCI(数据,上下文,交互)架构。

DCI架构是如何解决DDD战术建模缺点的?

数据中心网络架构 — 云网融合数据中心网络 — 数据中心互联(DCI)

如何使用 DCI 模式测试行为?

iOS架构篇-4 架构模式MVVM