领域驱动设计案例【Tiny Library用户界面】

写在前面

有段时间没有更新博客了,一方面因为工作繁忙,另一方面则是我最近一直在坚持设计和完善基于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等概念和技术不了解的话,请自己先对这些内容做个了解。这里我给出一些链接,希望能对您有所帮助。

下载案例

请读者朋友到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以启动应用程序

运行案例应用程序

启动应用程序后,将出现如下界面:

领域驱动设计案例【Tiny Library用户界面】

请使用默认的账户登录系统:用户名:daxnet,密码:123456

 

从下一讲开始,我将详细介绍Tiny Library CQRS的体系结构和设计思路。敬请期待!

领域驱动设计案例【Tiny Library用户界面】

上一篇:Leetcode Palindrome Partitioning


下一篇:CQRS体系结构模式实践案例【Tiny Library领域仓储与事件存储】