asp.net-mvc – 如何用ASP.NET MVC命令查询责任分离(CQRS)?
发布时间:2020-12-15 19:36:15 所属栏目:asp.Net 来源:网络整理
导读:我一直在阅读约 Command Query Responsibility Segregation (CQRS).我很奇怪,这将如何与ASP.NET MVC工作?我认为CQRS的概念上听起来不错,肯定会引入一些复杂性(事件和消息模式)相比,“正常/常见”的方法。还有CQRS排序的想法在某些方面反对使用ORM。我试
我一直在阅读约
Command Query Responsibility Segregation (CQRS).我很奇怪,这将如何与ASP.NET MVC工作?我认为CQRS的概念上听起来不错,肯定会引入一些复杂性(事件和消息模式)相比,“正常/常见”的方法。还有CQRS排序的想法在某些方面反对使用ORM。我试图想如何使用这种模式在未来的项目,如果任何人有结合CQRS与ASP.NET MVC和NHibernate的经验,请给一些具体的例子,以帮助我更好地了解CQRS和使用ASP.NET MVC。谢谢!
更新: http://github.com/MarkNijhof/Fohjin http://cre8ivethought.com/blog/2009/11/12/cqrs–la-greg-young/ http://cre8ivethought.com/blog/2009/11/28/cqrs-trying-to-make-it-re-usable/ 解决方法
Cqrs使Web项目更容易。在获取网站,所有的查询将看起来像
“select * from table where id = @id”)。对于那些简单的查询,你不需要像NHiberante这样的orm。你不必使用sql数据库,当你需要时,你可以将你的对象序列化到数据库表,或者使用命名约定。你仍然可以通过NHibernate查询读取的数据库,但是你不会从中获得任何好处,因为所有的查询都是一样的。 public class Controller { public ActionResult Get(Guid id) { var viewModel = reportingDatabase.Get(id); return View(viewmodel); } } 在命令端,控制器将如下所示: public class Controller { public ActionResult Post(SomeForm form) { // do validation var command = new SomeCommand(form.Property1,form.Property2); bus.Send(command); return redirecto(something else); } } 控制器只是发送消息,它不知道消息去往哪里以及消息的结果是什么。这个mvc部分很容易编程。 Cqrs会使写应用程序的Web部分非常无聊,但你可以通过添加一些帮助用户做出决定(可选择返回由jax使用的json)的代码,使它更有趣。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC单元测试控制器与HttpContext
- asp.net – 如何向DropDownList添加初始“select”值
- asp.net core EF code first
- asp.net-mvc – ActionLink无法在“if”块内渲染
- ASP.NET C#在SQL Server数据库表中搜索
- 如何使用MVC5 ASP.NET Identity Framework对SignalR .NET C
- asp.net – “viewstate MAC的验证失败.如果这个应用程序由
- asp.net-mvc – 在WCF项目中设置Web API
- ASP.Net超过1个表格?
- 在ASP.NET中,您如何处理会话和多个标签?
推荐文章
站长推荐
- asp.net – MSDeploy.exe可以作为管理员连接,但不
- 【WPF】EntityframeworkCore NLog出力设置
- asp.net-core – 如何在ASP.NET Core中实现angul
- 是否有必要创建ASP.NET 4.0 SQL会话状态数据库,与
- 如何通过GSM调制解调器从ASP.NET应用程序发送SMS
- asp.net-mvc – IdentityUserLogin不包含User的定
- asp.net中挺高性能的24种方法
- asp.net-core – 如何在asp.net核心中修改HttpCo
- 资源-DotNet-站点:DotNet 站点列表
- asp.net-mvc – 如何在MVC Razor视图中查找编译时
热点阅读