欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

邮箱核心业务领域建模

程序员文章站 2022-06-19 10:36:20
邮箱核心业务场景: 发邮件 收邮件 查看邮件 邮箱业务我们关注的核心信息 草稿箱 收件箱 已发送邮件 未读邮件 重要邮件 垃圾邮件 已删除邮件 核心领域模型文字版 共三个模型,如下: 草稿邮件(DraftMail): ID 标题 内容 所属Owner邮箱地址 创建时间 支持场景:创建邮件(但不发送出 ......

邮箱核心业务场景:

  • 发邮件
  • 收邮件
  • 查看邮件

邮箱业务我们关注的核心信息

  • 草稿箱
  • 收件箱
  • 已发送邮件
  • 未读邮件
  • 重要邮件
  • 垃圾邮件
  • 已删除邮件

核心领域模型文字版

共三个模型,如下:

草稿邮件(draftmail):

  • id
  • 标题
  • 内容
  • 所属owner邮箱地址
  • 创建时间

支持场景:创建邮件(但不发送出去,只是保存草稿)、查看草稿箱、删除草稿邮件

=================================================

已发送邮件(sentmail):

  • id
  • 标题
  • 内容
  • 是否重要
  • 发送人邮箱地址
  • 收件人邮箱地址列表(支持多个,逗号隔开)
  • 发送时间

支持场景:发送邮件、查看已发送邮件、删除已发送邮件

=================================================

已接收邮件(receivedmail):

  • id
  • 标题
  • 内容
  • 发件人邮箱地址
  • 收件人邮箱地址(单个收件人)
  • 原始收件人邮箱地址列表(发送邮件时填写的收件人列表,逗号隔开,该信息只用于信息查看,当我要查看这封邮件是发送给哪些人的时候用)
  • 是否已读:是、否
  • 是否重要:是、否
  • 是否删除:是、否
  • 是否垃圾邮件:是、否
  • 接收时间

支持场景:接收邮件、删除邮件、标记邮件各种状态、查看邮件:已接收、是否已读、是否重要、是否删除、是否垃圾邮件

关于邮件投递过程

除了发送邮件、接收邮件外,应该还有一个投递邮件的过程。投递邮件可以由一个独立的投递服务来完成。投递服务负责将当前邮件按照收件人邮箱地址,一个个进行投递,每个收件人邮箱都会收到一个邮件的消息,该消息包含了已发送邮件的所有信息。邮件接收服务可以为每个收件邮箱接收邮件,针对每个接收邮箱地址,new一个receivedmail聚合根对象,持久化即可。