写点什么

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

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

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

关注

评论

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

DPDK技术系统学习一(接收,发送,arp,icmp功能测试)

Linux服务器开发

虚拟化 网络协议栈 Linux服务器开发 DPDK C++后台开发

IstioCon 2022,网易数帆六年优化经验即将揭秘

网易数帆

微服务 云原生 istio 服务网格 Service Mesh (ASM)

Scrum基础框架,快速配置Scrum自动化场景

阿里云云效

云计算 阿里云 Scrum 敏捷开发 研发敏捷

百度ToB垂类账号权限平台的设计与实践

百度Geek说

架构 后端

持续进击,STI上演极致通缩模型

BlockChain先知

网络协议之:Domain name service DNS详解

程序那些事

Java Netty 程序那些事 4月月更

《数字经济全景白皮书》金融科技篇 重磅发布!

易观分析

金融科技 互联网金融

90天吃透阿里P8推荐的625页Java编程兵书技术实战,直接入职阿里定级P6

爱好编程进阶

Java 面试 后端开发

关于 MySQL 数据库学习的书籍有哪些值得推荐?

程序员万金游

MySQL 数据库 java 日志 MySQL 数据库 java

FastDFS入门,Java编程笔试题及答案

爱好编程进阶

Java 面试 后端开发

Docker编排利器DockerCompose,java面试题大汇总

爱好编程进阶

Java 面试 后端开发

「连接」与CRM的「中国式」关系

ToB行业头条

Excel是世界上最危险的软件?

图灵教育

Python 数据分析 Excel

Linux 信号(Signal)

mazhen

Linux JVM signal Linux Kenel

百度程序员开发避坑指南(Go语言篇)

百度Geek说

后端

阿里云强力贡献:如何让 StarRocks 做到极速数据湖分析

StarRocks

数据库 大数据 StarRocks

一键智能Mock,你值得拥有

Liam

前端 前端开发 Postman swagger web前端开发

使用 Serverless Devs 插件快速部署前端应用

阿里巴巴云原生

阿里云服务网格 ASM 正式发布商业化版本

阿里巴巴云原生

新华三首发400G园区核心交换机,开启园区超宽时代

H3C-Navigator

网络 交换机 智慧园区 网络交换机

记一次Kafka写入超时问题详细分析

移动云大数据

kafka

新一代态势感知系统发布——北望

H3C-Navigator

网络安全 网络 态势感知关联分析、SOC 态势感知 安全运营

星环科技春季新品发布周,4月19日-23日重磅内容等你来解锁!

星环科技

2021阿里总监最新整理:初级-中级-高级大厂面试真题(附答案解析

爱好编程进阶

Java 面试 后端开发

黑客是怎么cookie获取?钓鱼?键盘记录?

喀拉峻

网络安全 XSS

架构实战营 - 第 6 期 模块三课后作业

乐邦

「架构实战营」

eclipse配置SVN和Maven插件,原生Java开发的路该怎么走

爱好编程进阶

Java 面试 后端开发

互联网通信安全之 WebRTC 传输安全机制

融云 RongCloud

为什么你应该了解 Loggie

网易数帆

Go Kubernetes 云原生 日志 Loggie

融云 Unity SDK 升级,专注游戏场景,更好社交体验

融云 RongCloud

融云猿桌派:听说女生不适合搞 IT,哈?

融云 RongCloud

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