軟件設計要素初探:業務模式
在 “軟件設計要素初探” 一文,嘗試從軟件設計的整體角度,綜合討論了軟件設計的各種要素。本文討論業務應用中的常見套路:業務模式。
概述
軟件開發過程中,交織著對業務規則、業務流程的認識、理解、設計、實現。業務模式是對業務規則和流程的常見相似性、以及特定業務的數據處理能力的提煉,是業務應用系統中的常見套路。掌握這些套路,有助於更快更好地設計與實現業務。
模式清單
參數檢測模式:調用身份檢測、權限校驗、空檢測、時間參數檢測、業務約束檢測、存量檢測;
健壯服務調用模式: 健壯地調用服務接口。若調用成功,則抽取數據部分;若調用失敗,適當地打印錯誤日誌和返回錯誤信息;
多源數據組裝模式: 從多個服務接口源獲取數據後進行組裝,進行下一步健壯服務調用。
數據解析與轉換模式:從一個對象轉換到另一個對象;在對象、Map、JSON之間互轉;屬性拷貝。
CRUD模式: 增刪查改,經典的數據庫訪問模式。
接口正交模式:API接口是正交的無重疊的可靈活組合的,比如先搜索關鍵詞列表再根據關鍵詞列表獲取詳情,而不是在搜索接口中把詳情數據一並返回。
冪等處理模式: 識別重復請求並進行相應處理(直接返回最近一次處理的結果、忽略、報錯等)。涉及金額和數據一致性的地方尤其要細心。
事務處理模式: 多個數據存儲操作作為一個原子性操作要麽全部成功要麽全部失敗,不存在未完成的不完整的中間數據存儲狀態。
資源互斥同步模式: 多個線程同時寫操作相同的資源時,進行資源互斥同步。
多任務模式: 將任務分解為多個子任務,啟動多個線程或進程來執行子任務,然後匯總子任務的結果集得到最終的結果。
上下文模式: 對於長鏈路復雜請求處理,創建一個上下文對象,在該上下文對象裏傳遞處理請求所需要的必要信息。最好僅將該對象作為函數或方法參數而非實例變量,避免引起不必要的並發問題。
軟件設計要素初探:業務模式