郵箱核心業務場景: 發郵件 收郵件 查看郵件 郵箱業務我們關註的核心信息 草稿箱 收件箱 已發送郵件 未讀郵件 重要郵件 垃圾郵件 已刪除郵件 核心領域模型文字版 共三個模型,如下: 草稿郵件(DraftMail,聚合根): ID 標題 內容 所屬Owner郵箱地址 創建時間 支持場景:創建郵件(但 ...
郵箱核心業務場景:
- 發郵件
- 收郵件
- 查看郵件
郵箱業務我們關註的核心信息
- 草稿箱
- 收件箱
- 已發送郵件
- 未讀郵件
- 重要郵件
- 垃圾郵件
- 已刪除郵件
核心領域模型文字版
共2個模型,如下:
郵件(Mail,聚合根):
- ID
- 標題
- 內容
- 附件
- 是否重要:是、否
- 發送人郵箱地址
- 收件人郵箱地址列表(支持多個,逗號隔開)
- 創建時間
- 最後更新時間
- 發送時間
- 狀態:草稿、已發送
支持場景:創建郵件存為草稿、發送郵件、查看草稿郵件、查看已發送郵件、刪除郵件
=================================================
已接收郵件(ReceivedMail,聚合根):
- ID
- 標題
- 內容
- 附件
- 發件人郵箱地址
- 收件人郵箱地址(單個收件人)
- 原始收件人郵箱地址列表(發送郵件時填寫的收件人列表,逗號隔開,該信息只用於信息查看,當我們要查看這封郵件是發送給哪些人的時候用)
- 是否已讀:是、否
- 是否重要:是、否
- 是否刪除:是、否
- 是否垃圾郵件:是、否
- 接收時間
支持場景:接收郵件、刪除郵件、標記郵件各種屬性、查看郵件:已接收、是否已讀、是否重要、是否刪除、是否垃圾郵件
關於郵件投遞過程
除了發送郵件、接收郵件外,應該還有一個投遞郵件的過程。投遞郵件可以由一個獨立的投遞服務來完成。投遞服務負責將當前郵件按照收件人郵箱地址,一個個進行投遞,每個收件人郵箱都會收到一個郵件的消息,該消息包含了已發送郵件的所有信息。郵件接收服務可以為每個收件郵箱接收郵件,針對每個接收郵箱地址,new一個ReceivedMail聚合根對象,持久化即可。