什麼是提到比爾·蓋茨在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. 在Powershell中映射驅動器的「更好」方法是什麼?
- 2. 識別Google驅動器網址的最佳方法是什麼?
- 3. 什麼是Windows內核驅動程序?
- 4. 什麼是jTDS驅動程序?
- 5. 什麼是pyspark驅動程序?
- 6. 什麼是測試驅動程序?
- 7. 什麼是檢索系統驅動器
- 8. 是什麼在MySQL JDBC驅動程序
- 9. 什麼是事件驅動的編程?
- 10. 什麼是事件驅動的併發?
- 11. 什麼是測試驅動開發?
- 12. 什麼樣的驅動器是「NoRootDirectory」(System.IO.DriveType.NoRootDirectory)?
- 13. 什麼是Type 4 XA驅動程序?
- 14. 什麼是驅動程序功能?
- 15. 什麼是jdbc驅動程序「org.gjt.mm.mysql.Driver」?
- 16. 什麼是域驅動設計?
- 17. 驅動程序是什麼意思?
- 18. 什麼是動作或IBAction方法?
- 19. 什麼是覆蓋表設置方法?
- 20. 什麼是代表和委託方法
- 21. 什麼是搜索所有連接驅動器的最佳高效方法?
- 22. 什麼是在mongodb c#驅動程序中設置DateTimeSerializationOptions.Defaults的新方法?
- 23. 爲什麼不是jQuery驅動的表格排序工作?
- 24. 什麼是c#測試驅動程序,爲什麼執行
- 25. 爲什麼核心動畫方法是類方法而不是實例方法?
- 26. 動態嵌入表單symfony的更好方法是什麼?
- 27. 在Python中移動列表的最佳方法是什麼?
- 28. 實現動態HTML表單的最簡潔方法是什麼?
- 29. 什麼是動態方法,DynamicMethod與MethodBuilder有什麼不同?
- 30. Geb驅動器方法
該視頻是私人的。有沒有複製的地方? – stian 2011-07-01 20:03:11