如何基于充血模型在DDD框架下开发一个高效虚拟钱包系统?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3896个文字,预计阅读时间需要16分钟。
上一节课,我们讲解了理论知识,提到了两种发展模式:基于贫血模型的传统开发模式和基于充血模型的DDD开发模式。今天,我们将正式进入实战环节,深入了解实战环节。
上一节课,我们做了一些理论知识的铺垫性讲解,讲到了两种开发模式,基于贫血模型的传统开发模式,以及基于充血模型的DDD开发模式。今天我们正式进入实战环节我们正式进入实战环节看如何分别用这两种开发模式设计实现一个钱包系统。话不多说让我们正式开始今天的学习吧
钱包业务背景介绍
很多具有支付、购买功能的应用(比如淘宝、滴滴出行等)都支持钱包的功能。应用为每个用户开设一个系统内的虚拟钱包账户,支持用户充值、提现、支付、冻结、透支、转赠、查询账户余额、查询交易流水等操作。下图是一张典型的钱包功能界面你可以直观地感受一下。
一般来讲,每个虚拟钱包账户都会对应用户的一个真实的支付账户,有可能是银行卡账户,也有可能是三方支付账户(比如支付宝、微信钱包)。为了方便后续的讲解,我们限定钱包暂时只支持充值、提现、支付、查询余额、查询交易流水这五个核心的功能,其他比如冻结、透支、转赠等不常用的功能,我们暂不考虑。为了让你理解这五个核心功能是如何工作的,接下来,我们来一块儿看下它们的业务实现流程。
1.充值
用户通过三方支付渠道,把自己银行卡账户内的钱,充值到虚拟钱包账号中。这整个过程,我们可以分解为三个主要的操作流程:第一个操作是从用户的银行卡账户转账到应用的公共银行卡账户;第二个操作是将用户的充值金额加到虚拟钱包余额上;第三个操作是记录刚刚这笔交易流水。
2支付
用户用钱包内的余额,支付购买应用内的商品。
本文共计3896个文字,预计阅读时间需要16分钟。
上一节课,我们讲解了理论知识,提到了两种发展模式:基于贫血模型的传统开发模式和基于充血模型的DDD开发模式。今天,我们将正式进入实战环节,深入了解实战环节。
上一节课,我们做了一些理论知识的铺垫性讲解,讲到了两种开发模式,基于贫血模型的传统开发模式,以及基于充血模型的DDD开发模式。今天我们正式进入实战环节我们正式进入实战环节看如何分别用这两种开发模式设计实现一个钱包系统。话不多说让我们正式开始今天的学习吧
钱包业务背景介绍
很多具有支付、购买功能的应用(比如淘宝、滴滴出行等)都支持钱包的功能。应用为每个用户开设一个系统内的虚拟钱包账户,支持用户充值、提现、支付、冻结、透支、转赠、查询账户余额、查询交易流水等操作。下图是一张典型的钱包功能界面你可以直观地感受一下。
一般来讲,每个虚拟钱包账户都会对应用户的一个真实的支付账户,有可能是银行卡账户,也有可能是三方支付账户(比如支付宝、微信钱包)。为了方便后续的讲解,我们限定钱包暂时只支持充值、提现、支付、查询余额、查询交易流水这五个核心的功能,其他比如冻结、透支、转赠等不常用的功能,我们暂不考虑。为了让你理解这五个核心功能是如何工作的,接下来,我们来一块儿看下它们的业务实现流程。
1.充值
用户通过三方支付渠道,把自己银行卡账户内的钱,充值到虚拟钱包账号中。这整个过程,我们可以分解为三个主要的操作流程:第一个操作是从用户的银行卡账户转账到应用的公共银行卡账户;第二个操作是将用户的充值金额加到虚拟钱包余额上;第三个操作是记录刚刚这笔交易流水。
2支付
用户用钱包内的余额,支付购买应用内的商品。

