上回《大话设计模式C++版——简单工厂模式》中指出了简单工厂模式的缺陷,即违背了开发—封闭原则,其主要原因是由于switch的判断结构的使用,使修改或添加新的对象时需要改动简单工厂类的代码,如何改造switch结构,表驱动法就可以粉墨登场了。
表驱动法的介绍见《数据驱动编程之表驱动法》。
1、面向接口编程,先改造抽象接口类IOperation
class IOperation
{
p...
分类:
编程语言 时间:
2015-05-23 14:21:00
阅读次数:
430
近来阅读《代码大全》中“表驱动法”这一章节,发现其编程的思想在C语言实际编程很有指导作用,就想着将“表驱动法”应用于实际项目中。 任务需求:函数在进行业务处理之前,需要对外部输入的数据类型(dataType),数据索引(dataIndex),数据长度(dataLen)进行正确性检查 如果按照...
分类:
其他好文 时间:
2015-04-05 00:57:17
阅读次数:
224
http://blog.csdn.net/chgaowei/article/details/6966857本文示例代码采用的是c语言。之前介绍过数据驱动编程《什么是数据驱动编程》。里面介绍了一个简单的数据驱动手法。今天更进一步,介绍一个稍微复杂,更加实用的一点手法——表驱动法。关于表驱动法,在《un...
分类:
其他好文 时间:
2015-02-10 12:54:15
阅读次数:
197
Date对象有个getDay方法,它根据本地时间,返回一个具体日期中一周的第几天。返回值从0~6,分别对应周日~周六getDay0123456星期几周日周一周二周三周四周五周六用到日期相关的需求时需要将getDay返回的值转成星期几,即“这一天”是星期几?比如日历组件中选择日历后返回 “2014-1...
分类:
编程语言 时间:
2014-12-22 08:13:15
阅读次数:
237
背景表驱动法,最早接触这个概念是看《代码大全》,之前也在不自觉的应用,本文对这一个概念再做简短的总结。表驱动法说明这个概念之前最好先给出不使用这个概念的代码,常见的需要使用表驱动的场景有如下三种情况:场景1:不同条件不同数据if (key = "Key A"){ 处理 Key A 相关的数据。}el...
分类:
其他好文 时间:
2014-11-22 10:35:00
阅读次数:
136
这一次阅读了著名的《代码大全》(第二版)。全书虽然章节众多,但是主要就是几个大部分,这些部分我大多有一些浅显的了解但还未深入,当然也有一些全新的体验,例如表驱动法。全书内容丰富而详细,我在阅读的其中问题并不是太多,只不过很多的内容都觉得了解的还太浅,需要更多的实践以及阅读去体会。在这里记录下的也就是...
分类:
其他好文 时间:
2014-10-15 01:07:49
阅读次数:
272
阅读《代码大全》的第18章后,对编写代码时的逻辑判断方法及优化有了新的认识.总结出的问题如下:1.为什么要用表驱动法?表驱动法避免了复杂而又容易出错的多层嵌套逻辑判断语句,它利用原来判断的数据生成键值,利用键值查表来获得相应信息,方便而又易懂.这种方法将逻辑信息存储在数据中,不但减少了代码量,还为修...
分类:
其他好文 时间:
2014-10-11 23:02:16
阅读次数:
240
这本书讲什么?code complete 是编码完成的意思,是一个软件项目开发过程中的重要里程碑(milestone)。软件项目进行到这里,表名已经完成了所有的编码工作,即将开始系统测试。这本书讲的正是为了达到“编码完成”这一重要里程碑所必须的软件构建技术,确切的说,就是如何编写高质量的代码。作.....
分类:
其他好文 时间:
2014-08-18 16:08:32
阅读次数:
192
1.概述黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。2.等价类划分法2.1.概念等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的...
分类:
其他好文 时间:
2014-08-17 22:30:43
阅读次数:
433
是什么一种scheme,用表来做信息存取,代替逻辑语句(if/else)为什么简化逻辑语句,避免大量嵌套的 if/else 或者
switch/case怎么用三种访问表的方式直接访问:将源数据作为key索引访问:构建KV表阶梯访问:分为连续区间,遍历或者二分查找例子// get the
full n...
分类:
其他好文 时间:
2014-06-12 11:54:23
阅读次数:
255