昆明java培训
达内昆明广州春城路

18487146383

热门课程

单据的设计

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

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

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

单据模型的抽象

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

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

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

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

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

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

上一篇:数据库设计
下一篇:Controller控制器

AI初创企谷歌跑在前面了!达内java培训

‘资产荒’为什么这么说?【达内培训】

java集合-Iterator迭代

阿里云澳门战略携手创“城市大脑”——达内编程培训

选择城市和中心
贵州省

广西省

海南省

台湾