使用Apworks开发基于CQRS架构的应用程序(一):前言

Apworks框架发布Alpha版本的时候,我已经针对其开发案例:Tiny Library CQRS写了Walkthrough文档,地址是:http://apworks.org/custom/documents/wlkthr_BuildAppsUsingApworks/。为了走国际化道路,这篇文章是全英文的,社区里有不少网友表示难以理解。趁着这几天不算很忙,我抽空将其又翻译回中文,并加入更多的批准内容,供爱好DDD、CQRS和架构设计的朋友阅读参考,也希望大家能够积极参加讨论。

 

简介

Apworks是一套应用程序开发框架,软件架构师和开发人员可以使用这套开发框架开发出面向领域(Domain-Centric)并基于CQRS架构风格的应用程序。在本系列文章中,我将向大家介绍,如何使用Apworks开发一套面向领域的、松耦合的分布式应用系统。

本系列文章所使用的案例,就是之前我介绍的Tiny Library CQRS应用程序。之前也有一个系列文章是介绍这个项目的,不过那些文章都是介绍Tiny Library CQRS的一些功能要点和实现思想,并不是一套完整的How To演练文档。到写这篇文章为止,那个系列文章还没有写完,不过在我完成这个系列后,我会继续将其更新完善。

本系列文章将向读者朋友介绍,如何白手起家,使用Apworks开发应用程序。

 

业务场景

之前了解过Tiny Library CQRS项目的朋友对业务场景应该会非常熟悉,可直接跳过此段。在接下来的几章中,我们将开发一个应用程序,通过这个应用程序,用户可以对“读者”和“图书”进行管理。“读者”可以从图书馆“借书”,在看完后,可以“归还”给图书馆。系统用户可以创建“读者”和“图书”的信息,并且可以查询“读者”的“借书”、“还书”情况以及“图书”的借出历史和归还状态。

 

先决条件

为了保证你能够顺利地按照本系列文章的介绍,逐步创建能够运行的应用程序,你的系统必须符合下面的先决条件:

  • Microsoft .NET Framework 3.5 SP1
  • Microsoft Visual Studio 2010
  • Microsoft Patterns & Practices Enterprise Library 5.0 (April 2010)
  • Microsoft SQL Server 2005 (Express) or above
  • Microsoft ASP.NET MVC
  • Apworks Development Framework,可以【点击这里】直接下载(需要同意LGPL 2.1的License)

 

在Visual Studio中创建解决方案

现在,我们开始在Visual Studio 2010中创建解决方案。为了描述方便,我们给解决方案取个名字,称为“TinyLibraryCQRS”,所有项目的命名空间都会基于这个名称。为了能够更好地使用Apworks框架来开发应用程序,通常我们的解决方案会包含以下项目:

  • TinyLibrary.Domain(C# Library)- 该项目包含了领域模型
  • TinyLibrary.Events (C# Library)- 该项目包含了对所有领域事件的定义
  • TinyLibrary.EventHandlers(C# Library)- 该项目包含了所有领域事件的处理器定义
  • TinyLibrary.Commands(C# Library)- 该项目包含了所有客户端命令的定义
  • TinyLibrary.CommandHandlers(C# Library)- 该项目包含了所有处理客户端命令的命令处理器定义
  • TinyLibrary.QueryObjects(C# Library) - 该项目为整个应用程序提供了查询机制和查询对象
  • TinyLibrary.Services(C# WCF Service Application)- 一个C#的WCF Service项目,用来向客户端提供应用程序服务接口
  • TinyLibrary.WebApp(C# ASP.NET MVC应用程序)- 一个采用ASP.NET MVC开发的客户端程序

现在,让我们在Visual Studio 2010中创建TinyLibraryCQRS的解决方案:

  1. 打开Microsoft Visual Studio 2010
  2. 单击 File | New | Project 菜单,这将打开 New Project 对话框
  3. Installed Templates 选项卡下,选择 Other Project Types | Visual Studio Solutions,然后选择 Blank Solution
  4. 确保在对话框上的Framework版本选择区内,选择了.NET Framework 4.0
  5. Name 文本框中,输入 TinyLibraryCQRS 然后单击 OK 按钮

至此,Visual Studio的Solution Explorer中只显示了一个节点,就是我们刚刚新建的TinyLibraryCQRS解决方案,在后续的文章中,我们将了解到项目的整个开发过程。

 

额外说明

  1. 在本系列文章的操作步骤描述中,界面元素的名称还是英文的,这是因为工作需要,我的开发环境是英文的,为了不至于产生歧义,我没有将这些界面元素的名称翻译成中文写在这里,也没来得及搭建一个中文环境去比对,所以目前也只能把英文的名称原封不动地写下来,我想应该不会给读者造成太大的阅读障碍吧
  2. Apworks目前发布的是Alpha版本,下一个版本也正在开发中,所以文章的内容目前只适应于Alpha版本
posted @ 2011-01-26 15:05 dax.net 阅读(...) 评论(...) 编辑 收藏