BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

基于C#的CQRS教程发布

| 作者 Jan Stenberg 关注 34 他的粉丝 ,译者 廖煜嵘 关注 0 他的粉丝 发布于 2013年6月24日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Jonathan WorthingtonCarl Mäsak编写并开源了一款新的CQRS(命令查询职责分离模式)初学者教程,它旨在帮助开发者在.NET平台上实现CQRS。

这两位开发者指出这不是一个框架,而是做为对学习CQRS感兴趣的开发者的“一堆C#代码” ,如果有可能用户可以修改代码满足自己的需求,并将它作为自己基于CQRS的系统的基础。

该教程中的代码是一个基于咖啡馆领域模型,其主要概念集中在一个tab页中,通过它可以跟踪进入咖啡馆的个人或团体。教程本身划分为五个不同步骤,依次为设计、领域逻辑、读模型,接下来是整合到ASP.NET MVC应用中的模型。

在该教程中,Jonathan和Carl也带出一些值得思考的地方,比如假如用户要扩展例子到生产环境中,需要考虑事务和最终的一致性。

Jonathan和Carl强调,除非用户正处在学习阶段,否则不应该一开始就学习CQRS,因为它是新兴事物,如果用户的架构目标如下所述则应该考虑学习:

我想以命令/事件的方式去实现我的领域模型逻辑,因为用这种方式去建模和编写测试将帮助我交付满足客户需要的系统。我想坚持使用事件存储但它不能满足查询需求。因此,我也需要使用关系数据库。这意味着读和写需要通过不同的代码路径去实现,这种情况下将可以适合使用CQRS。

CQRS是一种日益受到关注的架构模式。由Eric Evans及其他人维护的DDD社区网站,特别指出了其重要性:

CQRS和事件溯源(Event Sourcing)是两种实现DDD的紧密的架构方法,他们在过去几年一直是 DDD中的热点话题。

查看英文原文:New C# based CQRS Tutorial available

感谢水羽哲对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT