我想起牀並與DDD運行,似乎有一些技術堆棧施加的限制,在我的情況ASP.Net,讓你考慮如何工作一起。例如,讓我們說,我已經創建了一個富裕階層我的購物和我我的購物有的AddItem(字符串SKU)的兩種方法和的removeItem(字符串SKU)。現在我可能在這兩種方法中有很多邏輯,並且有很多業務規則驗證。如何綁定豐富的域模型與ASP.Net MVC
當我想使用ASP.Net MVC將我的ShoppingCart綁定到UI時會發生什麼?理想情況下,我想調用AddItem和RemoveItem方法,當用戶在UI上添加或刪除項目時,我可以驗證所有規則,但通常我們將UI綁定到視圖模型(POCO類)。因此,當用戶從UI中保存購物車時,我將獲得我現在需要映射到實際業務對象的POCO類的列表。我是否應該迭代每個項目並從現有數據中追蹤並調用AddItem和RemoveItem方法?
在這種情況下,我需要在該內存中爲該用戶保留一個我的域對象的實例,以便我可以對其執行操作。即使如此,我將在控制器中擁有大量邏輯來決定在Business對象上調用哪些方法。
我越想這些行越容易混淆,因爲問題不會發生,我們可以說Winforms,在這裏你可以輕鬆地從各種事件調用Domain對象的各個方法。
我在整幅圖片中忽略了什麼使DDD像它應該那樣工作?
即使在Winforms中,您的域實體也不會永遠留在內存中。當他們需要的時候,他們會從數據庫中加載,並且在某些時候他們會被堅持和垃圾收集,希望。 – guillaume31