如何落地业务建模(4) 将模型实现为RESTful API

本文探讨了如何将业务模型转化为RESTful API,强调从数据而非行为角度构建API,以更好地与领域模型结合。通过URI表示领域模型、设计API、利用分布式超媒体设计资源,以及验证API的业务流程覆盖,来实现稳定且符合领域模型的API设计。RESTful API因其分布式超媒体特性,能够支持客户端与服务器间的渐进式服务消费,提供更好的灵活性和稳定性。
摘要由CSDN通过智能技术生成
  • 什么风格的API适合作为模型API

    • 行为角度

    • 数据角度

  • 将模型映射为RESTful API

    • 1.通过URI表示领域模型

    • 2. 根据URI设计API

    • 3.使用分布式超媒体设计API中涉及的资源

    • 4. 使用得到的API去覆盖业务流程,验证API的完整性

DDD受到行业热捧的一个原因是:它设法寻找到一个在软件系统生命周期内稳固不变的点,由它构成架构、协同、交流的基础,帮助我们更好的应对软件中的不确定性。
而API作为对外暴露的接口,也是需要保持高稳定性的组件。最好能像领域模型一样稳定。于是通过领域模型驱动获得API的设计(Domain Model Driven API Desin),就成了一种非常自然的选择。

什么风格的API适合作为模型API

要从数据角度,而不是行为角度去构建API,这样可以保证构建的API能够和领域模型结合地更加紧密。

继续以极客时间为例,如果从行为角度去构建API,可以参考催化剂的模型,因为这种建模方法中包含了交互:
图片

行为角度

从行为角度去设计API,那么会着眼于从人机交互上入手,寻找系统提供了什么服务,并针对这些服务进行API设计,结果类似这样:

SendGift(...)
SubscriptionColumn(...)
RegisterUser(...)
ReadColumn(...)
RateColumn(...)

这种API风格被称为PRC风格(Remote Procedure Call Style),在1980年代逐渐成为分布式系统的默认风格。优点是简单直接,提供什么功能都在接口里说清楚了;但从模型的角度讲,除非严格使用催化剂方法,否则RPC风格与模型之间有所隔阂,结合地不够紧密,表现在:

  • RPC的方法名并不来自于领域对象,交互是一种我们将隐藏在领域模型中的业务维度展开的方法,因为从交互入手,获得的RPC风格API并不是源自

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值