zoukankan      html  css  js  c++  java
  • 《代码大全》阅读笔记-18-表驱动法

    表驱动法是一种编程模式(scheme)——从表里面查找信息而不使用逻辑语句(if、case)。事实上,凡是能通过逻辑语句来选择的事物,都可以通过查表来选择。在适当的情况下,采用表驱动法会比复杂的逻辑代码更简单、更容易修改,而且效率更高。

    表驱动法必须要解决的两个问题:

    1、如何从表中查询条目:

    • 直接访问
    • 索引访问
    • 阶梯访问

    2、表里应该存什么:

    • data
    • action/action ref

    灵活的消息格式:metadata+core logic code based on config


    核对表(表驱动法)

    • 你考虑过把表驱动法作为复杂逻辑的替换方案吗?
    • 你考虑过把表驱动法作为复杂继承结构的替换方案吗?
    • 你考虑过把表数据存储在外部并在运行期间读入,以便在不修改代码的情况下就可以改变这些数据吗?
    • 如果无法用一种简单的数组索引去访问表,那么你把计算访问键值的功能提取成单独的子程序,而不是在代码中重复地计算键值吗?

    要点

    • 表提供了一种复杂的逻辑和继承结构的替换方案。如果你发现自己对某个应用程序的逻辑或者继承树关系感到困惑,那么问问自己它是否可以通过一个查询表来加以优化
    • 使用表的两大关键决策:1、如何访问表;2、表中存放什么

    --》状态机

  • 相关阅读:
    今日SGU 5.27
    今日SGU 5.26
    今日SGU 5.25
    软件工程总结作业
    个人作业——软件产品案例分析
    个人技术博客(α)
    结对作业二
    软工实践 二
    软工实践 一
    《面向对象程序设计》六 GUI
  • 原文地址:https://www.cnblogs.com/taceywong/p/8719630.html
Copyright © 2011-2022 走看看