我想起床并与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