如何使用DDD方法驗證業務規則

本文要點

  • 業務規則是系統擁有的特定領域知識的一個部分。
  • 合理構建的業務規則可以減少出錯概率,並降低維護難度。
  • 不同業務規則的職責不同,例如提供驗證或生成輸出等。
  • 事件的處理方式決策會影響總體設計,並且在做出任何決策之前都需要了解其後果。
  • 應該圍繞用戶執行的任務來構造命令方法,並提供清晰的輸出。

談到業務規則,如果你是一名技術人員,可能首先想到的是代碼行或業務規則引擎(如果你正在用的話)。但與編碼相比,規則更接近知識管理的範疇。例如,建築部門的員工瞭解許多關於臥室最小尺寸的規則,或者一片空間定義爲臥室或書房的所需特徵。如果一個人瞭解一個領域的規則,知道如何應用它們,就會成爲這個領域的專家。我們的目標是創建模擬領域專家行爲的軟件應用程序。

在本文中,我將使用一個系統來管理公司的共享資源。這套系統的目標是幫助員工預訂筆記本、投影儀、乒乓球桌等物品。

光是看上面一句話,你就可以立刻想出一串問題,比如:資源是什麼?預訂資源意味着什麼?系統是否允許多次預訂資源?諸如此類的問題應由領域專家回答,並將成爲控制系統行爲的業務規則。

這也將指導實體、值對象、命令和系統其他元素的定義。如何定義各個元素是更大的主題,超出了本文的範圍。

原文鏈接:【https://www.infoq.cn/article/XWh38btEq0ZYNiNtJiOT】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章