我正在使用C#3.0和ASP.NET 3.5與SQL Server 2008 R2後端編寫一個簡單的項目管理系統。項目管理系統的域驅動設計方法C#ASP.NET 3.5
目前它本質上是一個數據驅動的應用程序,具有基本的CRUD功能,少量的業務邏輯和一些驗證。
預計該系統將增長到包含更復雜的業務功能,我有興趣嘗試使用域驅動設計(DDD)的原則對其進行重新編碼。
我意識到這對於目前系統的狀態是如何矯枉過正,並且我預計現在要創造一個貧血的領域。該系統由客戶,客戶,項目,組件和活動組成。
客戶有0,1或許多客戶。 客戶擁有0,1或多個項目 項目擁有0,1或多個組件和 組件具有0,1或多個活動。
我該如何使用DDD進行建模?我是否將客戶,客戶,項目,組件和活動視爲聚合根?或者我是否擁有一個聚合根(客戶),並將客戶,項目,組件和活動作爲實體通過客戶訪問?是否有推薦的方法來建模實體/聚合根之間的多對一關係?我知道這並沒有涉及價值對象(顯然客戶,客戶端等包含幾個屬性)等,但我是一個完整的初學者在這裏,會喜歡一些指針和近乎完整的答案。
對這個問題的開放性問題抱歉,我已經有一個工作系統,但展望未來。
謝謝, 豐富。
一個好的領域模型由一組相互交互處理業務用例之間的連接對象的。如果你想使用DDD,你首先需要先弄清楚什麼是用例。你能否添加更多關於你的項目支持哪些用例的信息? – nwang0
感謝您的回答。我想我會去閱讀Domain Driven Design。 –