课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 单据的设计
  • 单据的设计

    发布:昆明Java培训      来源:达内新闻      时间:2016-08-31

  • 昆明Java培训班的老师给大家讲单据的设计

    在仓库系统中最多的也就是单据了,在这个系统中单据基本分为主从关系。在前期的开发中,系统中涉及的单据非常之多,比如入库单就分为:采购入库单,销售退货入库单,生产入库单,退还入库单等等,因为考虑到要兼容各种业务场景,所以定义了非常之多的单据,数据库中的主从表也非常之多。在后期的改版中从支付宝的订单处理中得到一些启发,在整体上定义了单据的概念,单据操作的方法也固定在特定范围内。

    单据模型的抽象

    以上是单据模型的抽象,所有实际的单据都要实现此抽象类,同时也合并了不同类型的入库为入库单.入库单在总体上上是一个概念,如果要去扩展入库单到具体的业务可以再此基础上去修改。所以在仓库系统代码中定义了几个基本的单据:入库单,出库单,移库单,报损单,盘点单,因为仓储系统主要用于管理数量,而以上操作都是直接影响库存数据的。

    十.前端页面操作的颗粒性,一致性

    自己曾在以往的软件开发过程中,很多动作都是连续进行的。比如列表中中删除一行数据然后重新刷新列表数据。以往开发的时候做法一般是发送一个删除请求,然后同时返回删除之后的新数据,在目前现有的系统开发中这种操作都被分解,比如上述过程分解为两个动作:(1)发送请求删除,返回删除状态(2)根据返回状态再重新请求后台列表数据, 也就是这个动作其实有两个请求,在以往的时候我开发直接使用了一个http请求就处理掉了【不是批判这个处理方式的问题,目前系统开发中也有很多人是这样处理的,很多人给出的理由多了一次请求】。首先我这里不是什么特别高并发的系统,多一次请求少一次请求也无所谓,其次这里为了保证任何操作动作的颗粒性,在处理权限上也是很不错的。

    然而单据是一个整体,所以很多时候回设计到一个多表操作的动作,这个时候一定要使用到事务,这个在技术上自然不用多说。有很多人提出了一个疑问,在各种单据处理的时候,比如选择多个产品的时候,我选择了产品数据是保存在哪里的

    在点击新增产品按钮的时候,然后选择产品之后表格中加载数据,很多人到数据库中去查找并没有发现新增数据。这里选择产品数据也是保存到了服务端的缓存中【注意是服务端缓存中,而不是客户端页面中】,也有很多人将数据缓存到客户端的做法,有什么优缺点在这里不做过多的说明,业务型系统建议是保存到后台中。这里也有上面提到的颗粒操作,表格中也有编辑以及删除操作,每一个动作都是拆分的,虽然看起来是连贯的。当产品确定之后提交整个表单,包括表单头部以及产品列表数据,使用事务一次性提交到数据库。

    了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

    推荐文章

上一篇:数据库设计

下一篇:Controller控制器

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:12/29

Java--零基础业余班

Java--零基础业余班

开班日期:12/29

Java--周末提升班

Java--周末提升班

开班日期:12/29

Java--零基础周末班

Java--零基础周末班

开班日期:12/29

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56