速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

基于 C#的 CQRS 教程发布

  • 2013-06-23
  • 本文字数:732 字

    阅读完需:约 2 分钟

Jonathan Worthington Carl 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 )关注我们,并与我们的编辑和其他读者朋友交流。

2013-06-23 08:023243
用户头像

发布了 81 篇内容, 共 24.3 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

Luminar Neo for Mac(AI技术图像编辑软件) 1.17.0完美激活版

mac

Luminar Neo 苹果mac Windows软件 AI技术图像编辑软件

时隔几年,再来聊聊低代码

互联网工科生

软件开发 低代码 JNPF

淘宝商品详情API:挖掘实时数据金矿,点燃电商增长引擎

Noah

云原生的实践探索和深入学习

Geek-yan

Apache Doris 在某工商信息商业查询平台的湖仓一体建设实践

SelectDB

数据库 大数据 数据仓库 数据分析 apache doris

Integrity Plus for Mac:数据完整性校验的得力助手

iMac小白

测试开发 | 个性化推荐引领社交媒体新潮流:定制化互动,畅享个性世界

测吧(北京)科技有限公司

测试

SecureFX for Mac v9.4.3注册激活版:实现高效安全的文件传输

iMac小白

测试开发 | 工业制造中的人工智能应用:智能制造引领未来产业革命

测吧(北京)科技有限公司

测试

叮,你有一份来自2023开放原子开发者大会的邀请函,请查收!

开放原子开源基金会

Java 开源 程序员 开发者 算法

Scrutiny for Mac v12.8.3激活版:网页开发人员的得力助手

iMac小白

精细经营:为 Web3 游戏长期卓越奠定基石

Footprint Analytics

区块链 Web3 游戏 加密攻略

一文教你提高写代码效率,程序员别错过!

伤感汤姆布利柏

效率 程序员 敏捷开发 低代码

华为云Astro,让业务专家秒变“技术大拿”

华为云PaaS服务小智

低代码 华为云

海外云手机怎么帮助您运营facebook?

Ogcloud

云计算 facebook 弹性云手机 手机云服务

一分钟了解人工神经网络(ANN)

小魏写代码

天猫商品评论数据接口(Tmall.item_review)

tbapi

天猫API接口 天猫商品评论接口 天猫评论接口 天猫商品评论内容接口 天猫评论API接口

使用TikTok云手机轻松拓展全球市场

Ogcloud

云计算 TikTok 手机云服务

SecureFX for Mac(ftp文件传输工具)附注册码 v9.4.3破解激活版

mac

苹果mac Windows软件 SecureFX 文件传输客户端

千万用户的人群过滤,做好这几个点,竟然支持亿级流量

Geek_j8uecm

架构 后端 高并发

在极狐GitLab 上使用 DVC 实现简单机器学习

极狐GitLab

Machine Learning MLOps

个人年度总结:深度学习与AIGC技术在智能诗歌生成中的应用

熬夜磕代码、

权威认可,天翼云云原生一体机iStack斩获“2023云原生企业TOP50”第一名

编程猫

lazada商品评论接口(lazada.item_review)

tbapi

lazada商品评论接口 lazada评论接口 lazada商品评价接口 lazada评论API接口 lazada商品评论API接口

面试官:什么是虚拟线程?为什么要有虚拟线程?

王磊

Java 面试

SecureCRT for Mac:实现安全稳定的远程工作

iMac小白

数据库产品层出不穷,金融行业如何选择?|FCon 专访

SelectDB

数据库 大数据 数据仓库 数据分析 apache doris

速度与稳定性的完美结合:深入横测ToDesk、TeamViewer和AnyDesk

阿Q说代码

远程办公 ToDesk TeamViewer AnyDesk

Node.js 文件操作:学习如何删除文件

Liam

node.js 后端 nodejs Node文件系统 NodeAPI

淘宝源数据商品详情API:解锁电商实时数据,驱动业务增长

Noah

基于C#的CQRS教程发布_语言 & 开发_Jan Stenberg_InfoQ精选文章