微信号:dotNETArticles

介绍:朱永光关于.NET开发各方面的技术分享,有时候也会精选整理、翻译和转载社区里对开发人员、架构师、团队管理者有用的一些精华文章.

CQRS及.NET中的参考资料

2015-05-28 23:01 朱永光

题记:CQRS作为一种设计模式,其实一点都不新鲜了。不过今天有朋友感叹.NET朋友也关注CQRS,故打算把之前看到的一些.NET下的CQRS参考资料分享下。


命令查询的责任分离Command Query Responsibility Segregation (简称CQRS)模式是一种架构体系模式,能够使改变模型状态的命令和模型状态的查询实现分离。这一模式最早由Greg Young在一次InfoQ的采访中首次提到,他在这个名为《State Transitions in Domain-Driven Design》的采访中解释了把领域模型分为两种:状态校验,以及状态转换,维持当前状态的一个视图。对于应用CQRS模式的原理和好处,Martin在其文章《CQRS》中的两个插图解释的一目了然:





这一模式虽然看起来很美,不过要实现起来却不是那么容易的,刚好Sacha Barber在CodeProject上分享了一篇长文《CQRS : A Cross Examination Of How It Works》(http://www.codeproject.com/Articles/991648/CQRS-A-Cross-Examination-Of-How-It-Works)来解释了一些实现上的最佳实践和经验。博客园的“水言木”也有4篇系列文章简单介绍了CQRS:http://www.cnblogs.com/mouhong-lin/tag/CQRS/。在CodeProject和博客园上关于CQRS的资料应该还有很多。


另外,很多人可能不知道,微软2012年还出版过一本由Greg Young作序名的电子书——《CQRS之旅》(在亚马逊上也有纸质书和Kindle电子书),还附有参考实现示例代码。这是微软模式与实践团队的杰作。这本书的更多介绍和下载请“阅读原文”来访问吧。




“dotNET每日精华”文章会每天推送dotNET开发社区的精华文章,每篇都是朱永光(个人微信号:zhuyongguang3317,加我私人微信号的朋友请稍微注明下背景)精选过,认为对dotNET开发人员、架构师、团队管理者有用的好文章。


欢迎转发文章,分享公众号,或通过下面的二维码来关注。


 
dotNET每日精华文章 更多文章 dotNET每日精华文章的第一天 为什么 TypeScript的崛起 执行后台任务的利器——Hangfire Visual Studio 2015和ASP.NET 5中可用的前端开发工具集
猜您喜欢 Node.js写爬虫系列之第1章 苹果和IBM当年是如何卖出第一款个人电脑的 大数据挑战——如何使用Druid实现数据聚合 运维的本质究竟是什么? 面对“混合云”的管理难题,“超云”的出现将给我们带来什么?