聚焦大模型浪潮下软件工程的创新洞见与实践 |QCon主题演讲大咖来袭 了解详情
写点什么

基于 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:023175
用户头像

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

关注

评论

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

【CSS】红砖背景

德育处主任

css3 大前端 html/css CSS小技巧 28天写作

什么是上瘾?

石云升

28天写作 上瘾

区块链数字货币交易所系统开发|区块链数字货币交易所软件APP开发

系统开发

迁移到 Go Modules

Rayjun

Module Go 语言

历史上的今天

IT蜗壳-Tango

七日更

大数据知识专栏 - Hadoop的资源管理 Yarn介绍

小马哥

大数据 hadoop YARN 七日更

阿里,字节,腾讯,面试题都涵盖了,这一份Java面试文档也太强了

数据库 程序员 面试

使用 Docker 部署 RabbitMQ 没有日志?添加这两条配置,轻松搞定

AlwaysBeta

Docker RabbitMQ 消息队列 消息中间件

关于“为更新而更新”的一种新的理解

Nydia

你有多久没去看海了呢「幻想短篇 15/28」

道伟

28天写作

数字资产钱包系统软件开发|数字资产钱包APP开发

系统开发

理解领域驱动设计

编程 领域驱动设计

提问也是一门学问

xcbeyond

程序人生 方法论 技巧 28天写作

十个手指头弹钢琴、高水准欣赏探讨优雅益智的古典音乐技术 数学不好很难进行

我是如何学习编程的?

熊斌

学习方法 个人成长 编程之路 28天写作

Mybatis【14】-- Mybatis如何实现一对多查询?

秦怀杂货店

数据库 mybatis

为什么很多事情说起来容易做起来难

Justin

学习 心理学 成长 心态 28天写作

一个系统小BUG修复投产居然花了3个小时来处理(下)

罗小龙

28天写作 投产事故 解决思路

区块链量化交易怎么做?

v16629866266

开放式API安全防护的七大原则

架构精进之路

API 七日更 28天写作

交易所软件系统开发|交易所APP开发

系统开发

技术招聘常被吐槽,企业应该考虑好这一点

李忠良

28天写作

如何管理过程质量?新手管理者的陷阱

一笑

管理 管理者 28天写作 质量保证

GoF23 中的对象关系模式!

鲁米

方法论 设计模式 构建模型

设计模式【2.1】-- 简单工厂模式怎么演变成工厂方法模式?

秦怀杂货店

设计模式 工厂模式 23种设计模式

无代码、Excel与Airtable

lidaobing

低代码 Excel 无代码开发 28天写作 Airtable

Soul 源码阅读 03|WebSocket 同步数据分析

哼干嘛

Java 源码分析 Soul网关

读任正非“星光不问赶路人”有感

JiangX

华为 战略 28天写作 任正非

动听百年:音乐播放器发展沉浮史

艾小仙

互联网

项目管理系列(8)-从0到1搭建PMO(一)

Ian哥

28天写作

币币交易系统APP开发|币币交易软件开发

系统开发

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