2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

  • 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:581810
用户头像

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

关注

评论

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

美团前端一面高频vue面试题整理

bb_xiaxia1998

Vue

建议收藏,轻松搞懂区块链!

蔡农曰

比特币 区块链 后端 比特币区块链

阿里前端经典react面试题集锦

beifeng1996

React

React Context源码是怎么实现的呢

flyzz177

React

JavaScript刷LeetCode心得

js2030code

JavaScript LeetCode

架构误区系列13:令人迷惑的继承

agnostic

继承

Portraiture2023最新版本下载安装图文教程

茶色酒

Portraiture Portraiture4

美团前端一面手写面试题

helloworld1024fd

JavaScript

vue组件通信方式有哪些?

bb_xiaxia1998

Vue

React源码分析(二)渲染机制

goClient1992

React

云计算未来 5 年发展方向大盘点

亚马逊云科技 (Amazon Web Services)

人工智能

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

腾讯前端经典react面试题(附答案)

beifeng1996

React

vue这些原理你都知道吗?(面试版)

bb_xiaxia1998

Vue

React源码分析1-jsx转换及React.createElement

goClient1992

React

ElasticSearch _bulk 使用与实战:批量操作、查询、冲突(模拟电商下单/查询)

alexgaoyh

批量操作 Elastic Search 关联查询 _bulk retry_on_conflict

能否手写vue3响应式原理-面试进阶

helloworld1024fd

JavaScript

社招前端必会手写面试题集锦

helloworld1024fd

JavaScript

中文技术文档的写作规范参考

面向工资Coding

应对ChatGPT,中国AI需要这三种能力

脑极体

百度 飞桨 文心

CnosDB成为首个产品支持SQLancer的云原生时序数据库

CnosDB

时序数据库 开源社区 CnosDB 工程师有话说

社招前端经典vue面试题(附答案)

bb_xiaxia1998

Vue

React源码解读之React Fiber

flyzz177

用javascript分类刷leetcode17.栈(图文视频讲解)

js2030code

JavaScript LeetCode

拆分电商系统为微服务

Geek_7d539e

面试官让你说说react状态管理?

beifeng1996

React

LeetCode:240. 搜索二维矩阵 II,直接查找,详细注释

Lee Chen

JavaScript 算法 LeetCode

React源码分析(三):useState,useReducer

goClient1992

React

前端工程师leetcode算法面试必备-简单的二叉树

js2030code

JavaScript LeetCode

架构实战营10期-作业7

炮仗

手撕常见JS面试题

helloworld1024fd

JavaScript

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