PhalApi开源接口框架 2.23.0 学习笔记2 -3层ADM模式

【第七课 PhalApi 2.x 接口开发 - Domain领域业务层与ADM模式解说】 https://www.bilibili.com/video/BV1s7411V7cx/?share_source=copy_web&vd_source=f4634749379d1151961b5797f4268f87

来源

 🚀 PhalApi 2.x 开源接口框架 开发文档

Api层应该

Api接口服务层应该做:

  • 应该:对用户登录态进行必要的检测
  • 应该:控制业务场景的主流程,创建领域业务实例,并进行调用
  • 应该:进行必要的日记纪录
  • 应该:返回接口结果
  • 应该:调度领域业务层

Api层【不】应该

Api接口服务层不应该做:

  • 不应该:进行业务规则的处理或者计算
  • 不应该:关心数据是否使用缓存,或进行缓存相关的直接操作
  • 不应该:直接操作数据库
  • 不应该:将多个接口合并在一起

Domain层应该

Domain领域业务层应该做:

  • 应该:体现特定领域的业务规则
  • 应该:对数据进行逻辑上的处理
  • 应该:调度数据模型层或其他领域业务层

Domain层【不】应该

Domain领域业务层不应该做:

  • 不应该:直接实现数据库的操作,如添加并实现缓存机制

Model层应该

Model数据模型层应该:

  • 应该:进行数据库的操作
  • 应该:实现缓存机制

在明确了上面应该做的和不应该做的,并且也完成了接口的定义,还有验收测序驱动开发的场景准备后,相信这时,即使是新手也可以编写出高质量的接口代码。因为他会受到约束,他知道他需要做什么,主要他按照限定的开发流程和约定稍加努力即可。

如果真的这样,相信我们也就慢慢能体会到精益开发的乐趣。

ADM调用关系

至于调用关系,整体上讲,应根据从Api接口层、Domain领域层再到Model数据源层的顺序进行开发。

正确的调用关系

在开发过程中,需要注意不能越层调用也不能逆向调用,即不能Api调用Model。而应该是上层调用下层,或者同层级调用,也就是说,我们应该:

  • Api层调用Domain层
  • Domain层调用Domain层
  • Domain层调用Model层
  • Model层调用Model层

如果用一张图来表示,则是:

错误的调用关系

为了更明确调用的关系,以下调用是错误的:

  • 错误的做法1:Api层直接调用Model层;
  • 错误的做法2: Domain层调用Api层,也不应用将Api层对象传递给Domain层;
  • 错误的做法3: Model层调用Domain层,更不能在Model层调用Api层。

这样的约定,便于我们形成统一的开发规范,降低学习维护成本。比如需要添加缓存,我们知道应该定位到Model层数据源进行扩展;若发现业务规则处理不当,则应该进入Domain层探其究竟;如果需要对接口的参数进行调整,即使是新手也知道应该找到对应的Api文件进行改动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值