正文

成功应用程序的模式(7)

ASP.NET设计模式 作者:(美)Scott Millett


1.4  其他有名的设计实践

除了目前已经介绍的设计模式、原则和企业模式之外,我还想介绍几种设计方法学:测试驱动开发、行为驱动开发及领域驱动开发。本节不会深入讨论这些主题,因为已超出了本书的范畴。但是,每一章用来演示模式和原则的关键示例代码均是采用这些方法学设计的,可以从www.wrox.com网站和http://www.tupwk.com.cn上下载这些代码。

1.4.1  测试驱动设计

TDD(Test-driven Development,测试驱动设计)并不像它的名称所言,它更多的是一种设计方法学而不是测试策略,这个名称只是不够公正。这种设计方法学背后的主要思想是使用测试来塑造系统的设计。在创建软件解决方案时,首先编写一个导致测试失败的测试程序来断言某种业务逻辑。然后编写代码让测试通过。最终,通过重构来清理所有代码。这三步已经被人们称为红-绿-重构(red-green-refactor)。红和绿指的是测试框架分别用来显示测试通过和测试失败的颜色。

通过经历TDD流程,最终将得到一个带有一套可以确认所有行为的测试的松耦合系统。TDD的一个副产品是这些测试提供了一种描述系统能够做什么以及不能做什么的文档。因为测试属于系统的一部分,所以它绝不会过时,这与编写的文档和代码注释不同。

更多有关TDD的信息请参考以下著作:

●  Test Driven Development: By Example,Kent Beck著

●  The Art of Unit Testing: With Examples in .NET,Roy Osherove著

●  Professional Enterprise .NET,Jon Arking与Scott Millett合著(Wrox出版)

1.4.2  领域驱动设计

简而言之,DDD(Domain-driven Design,领域驱动设计)是一组有助于构建反映对业务的理解并满足业务需求的应用程序的模式和原则。除此之外,它是一种思考开发方法学的全新方式。DDD的建模方式如下:首先通过全面理解真实领域来对真实领域建模,然后将所有的术语、规则和逻辑放到代码的某种抽象表示中(通常是以领域模型的形式)。虽然DDD并不是一种框架,但是它确实有一组构建块或概念可以整合到解决方案中。

在第10章和第11章中构建案例研究应用程序时将运用这种方法学。在第4章中我们将更深入研究DDD的一些方面。

有关DDD的更多信息,请参考以下著作:

●  Domain-Driven Design: Tackling Complexity in the Heart of Software,Eric Evans著

●  Applying Domain-Driven Design and Patterns: With Examples in C# and .NET,Jimmy Nilsson著

●  .NET Domain-Driven Design with C#: Problem - Design - Solution,Tim McCarthy著


上一章目录下一章

Copyright © 读书网 www.dushu.com 2005-2020, All Rights Reserved.
鄂ICP备15019699号 鄂公网安备 42010302001612号