报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

行为驱动开发关注点从数据库转向领域模型

  • 2013-08-06
  • 本文字数:757 字

    阅读完需:约 2 分钟

Julie Lerman 在 MSDN 杂志中建议,设计应用的时候应开始使用行为驱动开发(BDD),并着重关注在领域模型而不是数据库。

Julie Lerman,这位自 2003 年以来的一直都是微软 MVP、同时担任顾问和.NET 平台的导师说,BDD 让开发者在构建逻辑和测试的时候关注用例和行为,并用作在和客户讨论问题时定义验收的标准。对于BDD 的初学者,Julie 使用Visual Studio、C#和SpecFlow 实现了一个例子。

SpecFlow 是一个在.NET 平台上开源的工具,作为 Cucumber 家族中的一员,它也支持其他平台的集成。他们使用 Gherkin ,一种基于关键字的语言去描述一个用户故事场景,其中最重要的是 Given,When 和 then。Julie 给出了场景中的一个小例子:

Given(对于)指定的某个用户输入了用户的信息,

When(当) 她完成输入了更多的信息

then(那么) 这个用户的信息应该保存在系统中

SpecFlow 整合了 Visual Studio 并能为指定场景生成和执行测试。从一个简单的用例故事开始,Julie 使用这些工具创建了测试项目并且执行了需要为描述用户故事场景所创建和运行的测试的步骤。

Julies 认为自己是一名数据极客,她十分关注和客户的协作和对其业务的理解。因此她相信领域驱动开发 (DDD) 和行为驱动开发是需要遵守的重要原则。

用户可以在 SpecFlow 的网站上找到更多的导学手册文档

BDD 是在大约 2006 年由 Dan North 创立的,他还写了一篇介绍和关于从BDD 角度去看用例故事的文章。

《实例化需求》一书介绍的是一种跟BDD 关系密切的需求定义方法。

查看英文原文: Get Started With Behaviour-Driven Development Focusing on the Domain Instead of on the Database


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-08-06 01:581722
用户头像

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

关注

评论

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

第九周学习总结

Binary

吐血整理:推荐几款顶级好用的IDEA插件

Silently9527

Java intellij-idea idea插件

【JS】Array.of() 创建数组

德育处主任

JavaScript 大前端 js ES6 28天写作

批判性思维自修课(一)

石君

28天写作 批判性思维

架构师训练营第4周作业



产品训练营第二章作业(一)

Arnold

线程的三种等待唤醒机制(面试必问)

hepingfly

Java 线程 等待唤醒

请用思维导图画出架构师训练营所有技术知识点

DL

云游戏的那些事儿!读《大厂们的下一件大事儿》有感

李忠良

28天写作

第二章作业

DF

Java-可重入锁

hepingfly

Java 可重入锁

【CSS】页面顶部阴影

德育处主任

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

【JS】Array.from() 将伪数组转换成数组

德育处主任

JavaScript js ES6 array 28天写作

架构师训练营第四周作业 - 命题作业

阿德儿

学习“利益相关者”后对自己工作的一点思考

隋泽

如何基于海思芯片快速搭建Agora RTC应用

Hanson

WebRTC

大数据知识专栏 - 数据仓库

小马哥

大数据 hive 数据仓库 七日更

28天瞎写的第二百二十七天:离开后要留下什么?

树上

28天写作

JVM 垃圾收集算法

看山

JVM 垃圾回收算法

JavaScript08 - 数组

Mr.Cactus

JavaScript

Hive操作异常总结

小马哥

大数据 hive 数据仓库

微信直播也有跳舞小姐姐了 | 视频号28天(17)

赵新龙

28天写作

第九周作业

Binary

机器学习·学习笔记之:无监督学习

Nydia

产品经理训练营第二周作业-利益相关者

隋泽

产品经理训练营

架构师训练营第四周作业 - 学习总结

阿德儿

产品 0 期 - 第一章作业

让时间说真话

产品经理

开发质量提升系列:checklist投产检查列表(上)

罗小龙

代码质量 28天写作 checklist

时间复杂度与常见排列算法

Changing Lin

算法

【函数计算实践】一个应用案例

程序员架构进阶

阿里云 架构 项目实战 函数计算 28天写作

LeetCode题解:105. 从前序与中序遍历序列构造二叉树,Simple O(n) without map,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

行为驱动开发关注点从数据库转向领域模型_语言 & 开发_Jan Stenberg_InfoQ精选文章