什么是提到比尔·盖茨在Vista商业上http://www.youtube.com/watch?v=gBWPf1BWtkw什么是表驱动方法
什么是表驱动方法
回答
表驱动方法表驱动方法的方案,让你查找信息的表,而不是使用逻辑语句(即case,if)。在简单情况下,使用逻辑语句更快更容易,但随着逻辑链变得更加复杂,表驱动代码比复杂逻辑更简单,更容易修改并且更高效。
如果这是一个盲目的复制粘贴,请考虑添加引用。 – Trix 2016-05-28 00:52:37
表驱动方法相当简单。使用数据结构而不是if-then语句来驱动程序逻辑。例如,如果您正在处理两种类型的记录(电视与有线电视),你可以这样做:
hash[tv] = process_tv_records
hash[cable] = process_cable_records
在一些语言,比如Ruby或Perl,这个技术很简单。在Java中,您需要使用Reflection来查找方法句柄。
如果您想了解决策表,请在http://fitnesse.org/处调查Fitnesse测试框架。
引用的视频有比尔·盖茨从史蒂夫·麦康奈尔的“代码完成”一书中阅读。 Jeff Atwood mentioned this in his blog (the YouTube links match up).
从代码完成,第2版:
表驱动法是一种方案,让您查找表中的信息,而不是用逻辑语句(如果和情况)弄明白。
McConnell在他的例子中使用了一个数组作为他的“表”,但我认为这个概念可以应用到数据库表或其他任何类似表格的表中。
这个概念最好通过一个例子来解释。
假设您正在经营一家餐厅,并为每个餐桌编号设置不同数量的座位。
你的逻辑来获得的席位数为特定表可能看起来像
if table number == 1
table has 4 seats
else if table number == 2
table has 8 seats
. . .
所以如果你有50张桌子,你将有100行代码只是为了确定座位数。
使用表驱动的方法,你能与代表表格数量和代表的座位数量值的索引中的数组,所以你的逻辑反而会看起来像
tables [] = {4, 8, 2, 4, ...}
table seats = tables[table number]
,其结构简单,更短,并且更易于维护。
- 1. 识别Google驱动器网址的最佳方法是什么?
- 2. 在Powershell中映射驱动器的“更好”方法是什么?
- 3. 驱动程序是什么意思?
- 4. 什么是jdbc驱动程序“org.gjt.mm.mysql.Driver”?
- 5. 什么是测试驱动开发?
- 6. 什么是pyspark驱动程序?
- 7. 什么是Type 4 XA驱动程序?
- 8. 什么是事件驱动的编程?
- 9. 什么是Windows内核驱动程序?
- 10. 什么是域驱动设计?
- 11. 什么是检索系统驱动器
- 12. 什么是动作或IBAction方法?
- 13. 什么是代表和委托方法
- 14. 什么是覆盖表设置方法?
- 15. 什么是在mongodb c#驱动程序中设置DateTimeSerializationOptions.Defaults的新方法?
- 16. 为什么不是jQuery驱动的表格排序工作?
- 17. 什么是c#测试驱动程序,为什么执行
- 18. 动态嵌入表单symfony的更好方法是什么?
- 19. 在Python中移动列表的最佳方法是什么?
- 20. 什么是动态方法,DynamicMethod与MethodBuilder有什么不同?
- 21. “〜方法”是什么意思?
- 22. 什么是laravel render()方法?
- 23. 什么是方法内联?
- 24. 什么是GetHashCode方法?
- 25. 什么是https方法?
- 26. 什么是Kerberos方法?
- 27. 什么是敏捷方法?
- 28. 什么是扩展方法?
- 29. 什么是Invoke && InvokeAsync方法?
- 30. 什么是HOME方法?
该视频是私人的。有没有复制的地方? – stian 2011-07-01 20:03:11