《测试驱动数据库开发》——2.6 小结

2.6 小结

测试驱动数据库开发
测试执行时检查特定对象的行为。存在可靠的实例化过程很有用处,因为它确保了一个特定类的所有对象都是相同的。这种关联意味着如果测试了一个类的一个对象,就测试了这个类的所有对象,因此,看起来好像测试了这个类本身。

这就是数据库开发真正不同于传统的面向对象开发的第一点。对于存储在内存中的对象,其类的构造方法可以用销毁先前为该对象分配、在内存中的任何内容的方式,并遵循一个单一的、简单的途径来构建一个工作对象。

然而,当构建一个数据库时,照顾到那些已经保存在数据库内的数据往往是很有必要的。因此,生成数据库可以遵循两条途径:一条是升级数据库,另一条是构建一个新的数据库。这就是如今许多开发环境工作的方式,但这让我们难以获得真实的数据库的类,因此,我们也难以进行数据库的测试驱动开发。

解决的办法是迫使每一个特定的类的数据库遵循完全相同的构建途径,从而消除构建新数据库和更新现有数据库之间的区别,即定义从一个版本过渡到下一个版本所需的步骤,将空数据库当做过渡的第一步,并执行从一个版本过渡到另一个版本所必需的步骤。

按照上述方式构建数据库后,用相似的方式来表达数据库的设计:一系列增量的累积产生了数据库的最新版本。当用上述方式定义数据库后,开发人员就能轻易地确保每一次数据库版本过渡的脚本以正确的顺序被执行且仅被执行一次。

针对如何定义数据库的设计,做出上述那一点变化,并编写少量的自动化脚本;或者首先使用本书的配套代码,就可以奠定一个基础和可靠的数据库的类,据此,开发人员就可以建立测试驱动数据库开发。

本书附带的代码可以在如下网站上找到:http://maxthe3rd.com/test-driven-database-development/code.aspx

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

时间: 2024-09-22 06:03:17

《测试驱动数据库开发》——2.6 小结的相关文章

《HTML5与CSS3实战指南》——1.4 什么是CSS3

1.4 什么是CSS3 HTML5与CSS3实战指南创建网页的另一个独立的但并非不重要的一部分是层叠样式表(CSS).正如您所了解到的,CSS是一种样式语言,用来描述如何呈现或设置HTML标记样式.CSS3是CSS规范的最新版本.术语"CSS3"不仅是CSS新功能的参考文献,也是CSS规范发展进程的第三级1. CSS3包含CSS2.1(CSS规范的前一版本)的所有内容.它还添加了一些新功能来帮助开发人员解决一些问题,并不再需要非语义标记.复杂的脚本及其他图像.CSS3的新功能包括支持附

《HTML5与CSS3实战指南》——2.2 基本的HTML5模板

2.2 基本的HTML5模板 在您学习HTML5和新技术时,您可能想创建自己的蓝图或示例文件,并通过它们来构建基于HTML5的项目.实际上,您可能对已存在的XHTML或HTML4.0项目已经做了类似的事情.我们鼓励您这样做,当然您也可以考虑使用一些在线资源,从而为您提供一个HTML5的基本起点1. 在这个项目中,我们将从头开始,编写自己的代码,并对每一部分进行详细讲解.当然,即使是最好.最庞大的示例网站也不可能包含所有的新元素和技术.我们也会详细讲解一些未在我们所创建的示例网站中应用的新功能.这

《HTML5与CSS3实战指南》——2.3 HTML5常见问题

2.3 HTML5常见问题 在简要介绍了HTML5标记以后,您可能会有一些问题.以下是一些常见问题的答案. 2.3.1 为什么这些变更仍能够在旧版浏览器中工作 这是许多开发人员难于接受HTML5的地方.其实这根本不是问题,为了便于读者理解,我们会将HTML5和CSS3的一些新功能(后面章节将介绍)进行对比. 在CSS中,在添加新功能时(例如,border-radius属性将圆角添加到元素中),同时也需要将它添加到浏览器呈现引擎中,因此旧版浏览器无法识别它.所以,用户在使用不支持border-ra

《HTML5与CSS3实战指南》——第1章 HTML5和CSS3简介1.1 什么是HTML5

第1章 HTML5和CSS3简介 本章将简要回顾HTML5和CSS3的发展历程,并介绍HTML5和CSS3对于现代网站及Web应用程序的重要性,以及如何应用这些技术. 当然,如果您希望直接进入创建项目的实质部分,并开始学习如何使用HTML5和CSS3的新技术及功能,您可以先跳到第2章,稍后再回到本章. 1.1 什么是HTML5 我们今天所理解的HTML5,它具有一段相对动荡的历史.您可能已经了解到HTML是万维网上用于描述网页内容及数据的主要标记语言.HTML5是此标记语言的最新版本,它包括新功

《HTML5与CSS3实战指南》——1.7 实际应用

1.7 实际应用 推出新技术并希望此技术只为某一级别的浏览器提供编写网页和应用程序的服务,这显然是不现实的.在现实世界中,我们希望HTML5和CSS3取得进一步的发展,所以我们要使它们能够在各种平台上开发网页.这种平台包括现代浏览器.Internet Explorer的早期版本以及正在蓬勃发展的移动设备市场. 在某些时候,可以为不同的用户代理提供不同的指令,但这类似于早期具有混乱的浏览器嗅探和代码分叉的Web.但是这一次不一样,新代码是面向未来的,所以当旧版浏览器不能正常使用时,您仅需删除回调和

《HTML5与CSS3实战指南》——1.6 在现实中,我们想做的是什么

1.6 在现实中,我们想做的是什么 在现实中,我们不会创建了一个网站后,然后去做另一个项目,而对前一个项目的工作置之不理.我们会创建Web应用程序,并对其进行更新.微调,对其潜在的性能问题进行测试,调整其设计.布局和内容. 换句话说,在现实中,我们都会再次访问我们所写的代码.所以我们编写代码时,会使用最可靠.易于维护并高效的方法,并便于以后访问代码对其进行必要的完善和修改.显然,这不仅对我们自己创建和维护的网站及Web应用程序十分重要,同样,也对为我们客户所创建和维护的网站及Web应用程序同等重

《HTML5与CSS3实战指南》——2.6 小结

2.6 小结 这就是本章的内容.我们已经学习了HTML5的内容结构基础,并且开始用我们所学到的知识创建了我们的示例项目. 在下一章中,我们将详细介绍在HTML5中如何处理不同类型的文章.然后,在处理更多新HTML元素时,将继续在我们的网页上添加语义元素.

《HTML5与CSS3实战指南》——第2章 HTML5样式的标记2.1 The HTML5 Herald简介

第2章 HTML5样式的标记 我们已经向您介绍了关于HTML5历史的一些基本知识,以及学习它的重要性.现在,我们将在您的项目中开始使用它.首先向您介绍我们将在本书中逐步创建的示例网站. 在简单介绍了我们将创建的示例网站之后,我们将讨论一些HTML5的基本语法知识,以及编码最佳实践的一些建议.我们将遵循浏览器兼容性及HTML5页面结构基本原理等一些重要原则.最后,我们向您介绍一些HTML5特有的元素,以及如何使它们适应布局. 现在开始吧! 2.1 The HTML5 Herald简介 我们首先从头

《HTML5与CSS3实战指南》——2.4 定义页面结构

2.4 定义页面结构 现在我们已经了解了模板的基础知识,下面将开始介绍详细信息,为网页指定一些基本结构. 在本书后面的章节中,我们将深入介绍添加CSS3功能和其他HTML5的精华.现在,我们将考虑在网站总体布局方面应使用哪些元素.我们将在本节以及后面的章节介绍语义.当使用这个术语时,我们指的是用指定的HTML元素名称来描述其内容的方式.由于HTML5包含一系列广泛的语义元素,因此您会发现,与过去使用HTML4或XHTML的时候相比,多花了一些时间思考内容结构及含义.非常好!理解了内容的意思才能够

《HTML5与CSS3实战指南》——1.3 我们为什么应关注HTML5

1.3 我们为什么应关注HTML5 如前所述,HTML5的核心部分是新语义元素,以及相关技术和API.通过介绍这些新内容和语言更改,目的是使网页更容易编写.使用和访问. 这些新语义元素,以及类似于WAI-ARIA和微数据(分别在附录A.附录B和附录C中介绍)等其他标准,可以帮助使用人员及计算机更轻松地访问文档,从而有利于可访问性和搜索引擎的优化. 具体地讲,新语义元素适用于设计动态网页,使制作的网页更具模块性和可移植性.我们将在后面的章节中详细介绍. 最后,与HTML5相关的API可以帮助改进网