我正在尋找關於何時必須在域模型中明確建模角色的一些準則。確定域角色何時需要明確建模的指導
我會在這裏舉一個例子的幫助來解釋我目前的立場。
說,我們正在建立一個醫療系統,與業務需求規定
「有3年以上的經驗,只有醫生和某些 資格可以進行手術」
在這病例很明顯,做手術的行爲只能由扮演醫生角色的人執行,醫生需要滿足某些先決條件才能執行動作
docter.performSurgery()
所以基本上所有的醫生都不一樣
這種方法可能會檢查,如果條件滿足了
因此,在上述情況下,我會的作用明確建模。
現在讓我們考慮一下備用場景。
只有管理員可以批准資金轉移
在上述情況下,我做不找到任何需要建模域這個角色,因爲他們沒有規則區分另一個管理員在我的領域。
任何人/與管理員的權限USERLOGIN可以執行這個動作,我寧願設計這個到我的安全基礎設施,並確保只有在當前登錄的調用應用層上
approveTransfer()
方法被調用用戶具有ADMIN權限。
因此,「域模型」,其中我的意思是像類帳戶類的類是不知道這個規則,這是通過AOP或可能AccountService類或類似編碼在應用程序層。
智者們對此有何評論? :)
在使用的語言方面,並且因爲我不知道聚集是如何構造的,但它不是'doctor.scheduleSurgery(date)'嗎?從你的帖子和功能執行操作,聽起來就像系統正在切割! – g18c 2014-10-19 10:46:26
我同意,我們可以辯論所用的語言不是來自具體的用例,但是問題的焦點在於何時需要對醫生類(域角色)進行建模,以及何時不需要進行建模, – Sudarshan 2014-10-21 01:21:31