现在的位置: 主页 > 联系方式 > 文章列表

编程原则:表驱动法

作者:福建省医学会血液病学分会 来源:www.fjhematology.org 发布时间:2017-09-11 13:58:04
 

编程原则:表驱动法 说明这个概念之前最好先给出不使用这个概念的代码,常见的需要使用表驱动的场景有如下三种情况:

场景1:不同条件不同数据

if (key = "Key A")

{

处理 Key A 相关的数据。

}

else if (key = "Key B")

{

处理 Key B 相关的数据。

}

场景2:不同条件不同行为

if (key = "Key A")

{

执行 Key A 相关的行为。

}

else if (key = "Key B")

{

执行 Key B 相关的行为。

}

场景3:不同条件依次执行

执行 Key A 相关的行为。

执行 Key B 相关的行为。

有了上面三种场景,再理解表驱动法就比较直观了,站群,直接看表驱动的代码:

表 = {

"Key A": { "数据项": "数据", "行为项": "行为" },

"Key B": { "数据项": "数据", "行为项": "行为" }

};

注:很多语言都支持将“行为”作为一等公民,如:C和C++的函数指针、C#的委托、JS的函数等。

有这样一个表以后,替换上面的三种代码就非常直接了,这里不再赘述。

思考

使用OO替换表驱动法

对于某些不支持OO的语言,表驱动法非常有用,对于支持OO的语言,如果表中的数据项和行为项总数如果超过了3个,建议引入简单的继承体系,将数据项和行为项目提取为新类型体系的成员,然后将表修改为工厂。

表的Key能否为“行为”

当然可以,只是在从表中获取行时,使用这个“行为”决定是否返回行。

如何用表驱动法模拟23个设计模式?

完全有可能的,有兴趣的朋友可以模拟一下管道过滤器模式(这个是架构模式)。

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:咸宁网站建设 http://xianning.45qun.com

  • 上一篇:python3 字符编码问题原理简介
  • 下一篇:最后一页
  •