CQRS体系结构模式实践案例:Tiny Library:简介
2010-12-14 15:17
351 查看
写在前面
有段时间没有更新博客了,一方面因为工作繁忙,另一方面则是我最近一直在坚持设计和完善基于DDD的应用系统开发框架Apworks。读过我《领域驱动设计案例:Tiny Library》这一系列文章的朋友一定听说过Apworks框架,虽然这个框架至今仍未成熟到能够用在真正的系统开发上,但它已经实现了CQRS体系结构模式,已经可以用于软件架构设计的演示上了。从这一讲开始,我将逐步介绍如何采用CQRS架构实现Tiny Library的业务。你可能会听得烦了:又是Tiny Library,能不能换点别的?呵呵,我开始时想做一个简单的论坛出来,不过为了能让读者朋友在经典DDD实践和CQRS实践上做个对比,我决定继续使用Tiny Library的业务。
扩展阅读
在阅读本系列文章之前,如果您对领域驱动设计(DDD)、命令与查询职责分离(CQRS)、事件溯源(Event Sourcing)、事件存储(Event Store)、WCF、ASP.NET MVC等概念和技术不了解的话,请自己先对这些内容做个了解。这里我给出一些链接,希望能对您有所帮助。
《领域驱动设计精简版》
《EntityFramework之领域驱动设计实践【扩展阅读】:CQRS体系结构模式》
《Martin Fowler: Event Sourcing》
《Evolution of DDD: CQRS and Event Sourcing》
《Wikipedia: Domain-driven design》
《Wikipedia: Data Context and Interaction》
《Wikipedia: Command-query separation》
下载案例
请读者朋友到http://tlibcqrs.codeplex.com站点下载源代码。单击进入站点首页,然后在Source Code选项卡下,选择最新的Change Set,在打开的Change Set页面中,单击Download按钮下载源代码包。
系统需求
Microsoft .NET Framework 3.5 SP1
Microsoft Patterns&Practices Enterprise Library 5.0 (April 2010)
Microsoft SQL Express 2008
Microsoft Visual Studio 2010 (打开解决方案时需要VS2010)
Apworks DDD framework (http://apworks.codeplex.com)。 Apworks的程序集已经被包含在Tiny Library CQRS的源代码包中,您无需单独下载Apworks
注意:目前Apworks框架只能用于演示,仍在开发中,请不要用于实际项目!
安装部署
请按下列步骤安装部署Tiny Library CQRS:
打开Microsoft Visual Studio 2010
打开Server Explorer
邮件单击Data Connections, 选择Create New SQL Server Database option
在Create New SQL Server Database对话框中,在Server name中输入.\SQLEXPRESS,然后在 New database name 中输入 TinyLibraryEventDB
使用上面同样的方法创建另一个数据库,取名为TinyLibraryQueryDB
在Microsoft Visual Studio 2010中,打开 TinyLibraryCQRS 解决方案
在Additions 目录下,执行 TinyLibraryEventDB.sql 和 TinyLibraryQueryDB.sql 脚本
编译整个解决方案
在Solution Explorer上, 邮件单击 TinyLibrary.Services.CommandService.svc 文件, 选择 View in Browser, 这将启动 ASP.NET Development Server,端口号是1421
将TinyLibrary.WebApp项目设置成启动项目,然后按下CTRL+F5以启动应用程序
运行案例应用程序
启动应用程序后,将出现如下界面:
请使用默认的账户登录系统:用户名:daxnet,密码:123456
从下一讲开始,我将详细介绍Tiny Library CQRS的体系结构和设计思路。敬请期待!
有段时间没有更新博客了,一方面因为工作繁忙,另一方面则是我最近一直在坚持设计和完善基于DDD的应用系统开发框架Apworks。读过我《领域驱动设计案例:Tiny Library》这一系列文章的朋友一定听说过Apworks框架,虽然这个框架至今仍未成熟到能够用在真正的系统开发上,但它已经实现了CQRS体系结构模式,已经可以用于软件架构设计的演示上了。从这一讲开始,我将逐步介绍如何采用CQRS架构实现Tiny Library的业务。你可能会听得烦了:又是Tiny Library,能不能换点别的?呵呵,我开始时想做一个简单的论坛出来,不过为了能让读者朋友在经典DDD实践和CQRS实践上做个对比,我决定继续使用Tiny Library的业务。
扩展阅读
在阅读本系列文章之前,如果您对领域驱动设计(DDD)、命令与查询职责分离(CQRS)、事件溯源(Event Sourcing)、事件存储(Event Store)、WCF、ASP.NET MVC等概念和技术不了解的话,请自己先对这些内容做个了解。这里我给出一些链接,希望能对您有所帮助。
《领域驱动设计精简版》
《EntityFramework之领域驱动设计实践【扩展阅读】:CQRS体系结构模式》
《Martin Fowler: Event Sourcing》
《Evolution of DDD: CQRS and Event Sourcing》
《Wikipedia: Domain-driven design》
《Wikipedia: Data Context and Interaction》
《Wikipedia: Command-query separation》
下载案例
请读者朋友到http://tlibcqrs.codeplex.com站点下载源代码。单击进入站点首页,然后在Source Code选项卡下,选择最新的Change Set,在打开的Change Set页面中,单击Download按钮下载源代码包。
系统需求
Microsoft .NET Framework 3.5 SP1
Microsoft Patterns&Practices Enterprise Library 5.0 (April 2010)
Microsoft SQL Express 2008
Microsoft Visual Studio 2010 (打开解决方案时需要VS2010)
Apworks DDD framework (http://apworks.codeplex.com)。 Apworks的程序集已经被包含在Tiny Library CQRS的源代码包中,您无需单独下载Apworks
注意:目前Apworks框架只能用于演示,仍在开发中,请不要用于实际项目!
安装部署
请按下列步骤安装部署Tiny Library CQRS:
打开Microsoft Visual Studio 2010
打开Server Explorer
邮件单击Data Connections, 选择Create New SQL Server Database option
在Create New SQL Server Database对话框中,在Server name中输入.\SQLEXPRESS,然后在 New database name 中输入 TinyLibraryEventDB
使用上面同样的方法创建另一个数据库,取名为TinyLibraryQueryDB
在Microsoft Visual Studio 2010中,打开 TinyLibraryCQRS 解决方案
在Additions 目录下,执行 TinyLibraryEventDB.sql 和 TinyLibraryQueryDB.sql 脚本
编译整个解决方案
在Solution Explorer上, 邮件单击 TinyLibrary.Services.CommandService.svc 文件, 选择 View in Browser, 这将启动 ASP.NET Development Server,端口号是1421
将TinyLibrary.WebApp项目设置成启动项目,然后按下CTRL+F5以启动应用程序
运行案例应用程序
启动应用程序后,将出现如下界面:
请使用默认的账户登录系统:用户名:daxnet,密码:123456
从下一讲开始,我将详细介绍Tiny Library CQRS的体系结构和设计思路。敬请期待!
相关文章推荐
- CQRS体系结构模式实践案例:Tiny Library:系统架构
- 【领域驱动设计】CQRS体系结构模式实践案例发布:Tiny Library CQRS
- CQRS体系结构模式实践案例:Tiny Library:对象的行为和状态
- CQRS体系结构模式实践案例:Tiny Library:领域仓储与事件存储
- 一起谈.NET技术,领域驱动设计案例:Tiny Library:简介
- 领域驱动设计案例:Tiny Library:简介
- 领域驱动设计案例:Tiny Library:应用服务层
- CQRS架构案例Tiny Library CQRS详解:AOP拦截与异常处理
- 一起谈.NET技术,Microsoft NLayerApp案例理论与实践 - 项目简介与环境搭建
- Microsoft NLayerApp“.NET研究”案例理论与实践 - 项目简介与环境搭建
- 分布式缓存系统Memcached简介与实践(.NET memcached client library)
- 领域驱动设计案例:Tiny Library:仓储
- 领域驱动设计案例:Tiny Library:用户界面
- 领域驱动设计案例:Tiny Library:业务逻辑与系统结构
- 【领域驱动设计】CQRS体系结构模式实践案例发布
- 领域驱动设计案例:Tiny Library:领域模型
- 分布式缓存系统Memcached简介与实践(.NET memcached client library)
- Microsoft NLayerApp案例理论与实践 - 项目简介与环境搭建
- Byteart Retail V3 - 全新的面向.NET与领域驱动设计的企业应用实践案例
- 插件式架构设计实践一:插件式系统架构设计简介