郵箱核心業務領域建模

郵箱核心業務場景:

  • 發郵件
  • 收郵件
  • 查看郵件

郵箱業務咱們關注的核心信息

  • 草稿箱
  • 收件箱
  • 已發送郵件
  • 未讀郵件
  • 重要郵件
  • 垃圾郵件
  • 已刪除郵件

核心領域模型文字版

共2個模型,以下:對象

郵件(Mail,聚合根):時間

  • ID
  • 標題
  • 內容
  • 附件
  • 是否重要:是、否
  • 發送人郵箱地址
  • 收件人郵箱地址列表(支持多個,逗號隔開)
  • 建立時間
  • 最後更新時間
  • 發送時間
  • 狀態:草稿、已發送

支持場景:建立郵件存爲草稿、發送郵件、查看草稿郵件、查看已發送郵件、刪除郵件消息

=================================================new

已接收郵件(ReceivedMail,聚合根):模型

  • ID
  • 標題
  • 內容
  • 附件
  • 發件人郵箱地址
  • 收件人郵箱地址(單個收件人)
  • 原始收件人郵箱地址列表(發送郵件時填寫的收件人列表,逗號隔開,該信息只用於信息查看,當咱們要查看這封郵件是發送給哪些人的時候用)
  • 是否已讀:是、否
  • 是否重要:是、否
  • 是否刪除:是、否
  • 是否垃圾郵件:是、否
  • 接收時間

支持場景:接收郵件、刪除郵件、標記郵件各類屬性、查看郵件:已接收、是否已讀、是否重要、是否刪除、是否垃圾郵件持久化

關於郵件投遞過程

除了發送郵件、接收郵件外,應該還有一個投遞郵件的過程。投遞郵件能夠由一個獨立的投遞服務來完成。投遞服務負責將當前郵件按照收件人郵箱地址,一個個進行投遞,每一個收件人郵箱都會收到一個郵件的消息,該消息包含了已發送郵件的全部信息。郵件接收服務能夠爲每一個收件郵箱接收郵件,針對每一個接收郵箱地址,new一個ReceivedMail聚合根對象,持久化便可。文字

相關文章
相關標籤/搜索