我正在寻找有关以下 DDD 概念的书籍或博客文章,这些概念特定于 MVC 和 C# 代码。快速总结:来自特殊存储库方法的部分填充域模型,并且仅将更改的域模型属性作为 JSON 从客户端发送回。
更多细节:
如果您有一个客户对象但需要一个只有客户编号和客户名称的下拉列表,您将创建一个特殊的存储库方法来返回客户的完整 IList,但只填充客户 ID 和客户名称,其他属性为空或空的。这节省了为视图模型创建大量特殊类的时间。
如果您正在编辑客户,您将在服务器的会话变量中缓存客户对象,然后 JSON 序列化包含客户 DDL 和客户端的第一个客户对象的视图模型,可能将 JSON 嵌入来自服务器。让 JSON 解析为 MVC 控制器方法“对象参数”(将发布数据从 JSON 重新组装为对象参数)会非常好。
客户端 (JavaScript) 实例化客户对象并将对象属性绑定到相应的同名 HTML 输入语句。当一个改变时,另一个改变。还为 IList 对象添加一个模板概念。当输入值更改(事件)时,它还会将客户对象属性标记为脏。
提交后,仅将更改的(脏)对象属性序列化为 JSON 并发送回服务器。未更改的属性被简单地排除在外。服务器会将缓存的客户对象与部分 JSON 客户对象(仅限更改)组合,将生成的客户对象提交到存储库以进行持久化。
这是一个非常棒的概念。我想阅读有关理论并获得待办事项清单。