zoukankan      html  css  js  c++  java
  • 接口表:一种通用机制

    需求:
    生成一种单据:发货单。

    发货单分为头和行,头根据行的一些属性分组产生。
    需要各种验证。
    同时要插入批次表。
    在整个系统中,不止一处会需要生成发货单。

    分析:
    在系统中每次都要生成发货单的地方都写一套程序,会发现每套程序都比较类似。
    面对比较类似的程序时,就要分解程序,把相同的部分和不同的部分区分开。
    针对该程序,变化的是每次单据的数据,不变的是分组,验证,插相关表的操作。所以,要把数据和操作分开。

    对策:
    一个接口表,包含行和头的需要的字段。对于这种头行结构的单据,接口表是保持头行结构还是扁平化,是需要考量的一个问题。针对该例,头根据行的数据分组产生,所以接口表扁平化,可以把分组过程写进通用程序中。

    一个程序,从接口表中取数据,执行分组,验证,插相关表的操作。

    扩展:
    为了支持并发,可以加入批次机制,用一个GROUP_ID来区分每次要处理的数据。
    为了给出是否成功的犯规,可以加入PROCESS_FLAG等。
    为了给出错误信息的反馈,可以加入一个错误信息表。

             

                成长

           /      |     \

        学习   总结   分享

    QQ交流群:122230156

  • 相关阅读:
    【转载】C/C++中extern关键字详解
    【转载】extern "C"的用法解析(原博主就是抄百度百科的,不如另外一篇好)
    lua Date和Time
    MySQL-Linux安装
    Hive-0.13安装
    MR案例:单表关联查询
    MR案例:小文件处理方案
    MR案例:链式ChainMapper
    MR案例:定制Partitioner
    MR案例:多文件输出MultipleOutputs
  • 原文地址:https://www.cnblogs.com/benio/p/1890616.html
Copyright © 2011-2022 走看看