美文网首页
项目总结

项目总结

作者: 百年叔叔 | 来源:发表于2018-04-27 15:00 被阅读0次

    最近忙完了一个大屏数据报表的项目,一路走来一路坑,不过办法总会比问题多,简单记录一下。
    本篇文章不会记录具体的代码,只会记录一些遇到问题的时候的想法和一些解决思想。

    2月28号
    那天是我第一次来这边项目组,说是要做一个大屏展示的项目。当时只有静态页面,并没有成型的项目。
    于是准备开发,当时做技术选型,本来后台打算使用spring boot 前台使用 vue+vuex.
    但是这个项目还有一个其他的项目组,于是spingboot的计划暂时搁置。但是前台还是决定使用vue进行敏捷开发。
    当天就把后台的代码拿了过来,架构大体是springmvc +mybatis 这一套。后台代码做了一些完善的封装,只要处理逻辑就行。

    3月记录开发变迁
    数据库篇:
    第一版
    1.数据库表98个,逻辑极其复杂,
    2.觉得使用视图,一个页面对应一个视图,
    3.一条sql查找出全部数据
    问题:
    前端处理数据的时候 难度是指数级上升,虽然能解析出数据,但是解析出的数据变的极其不灵活,根本不利于扩展,而且每次指标修改可能就要修改100行的sql

    第二版
    1.数据库表98个,视图8个,一个视图对应一个页面
    2.给每个指标加上唯一ID
    3.根据单页面的模块进行细分,一个模块一条sql
    4.前台处理数据的时候只要根据指定模块处理指定数据
    问题:
    还是有一个复杂的业务场景,以及复杂图表的时候sql可能要多次查询。

    java后台篇:
    第一版:
    1.最开始是一个接口,根据不通参数,返回8个大屏数据
    2.没有做动态sql,一个xml里面可能有60多条sql,很多是重复的。
    3.接口和sql没有注释,经常找不到sql的位置。
    4.查询指标的id直接写到sql里面,如果不对找的时候很麻烦,不利于管理

    第二版:
    1.对接口进行拆分,一个页面对应一个,原来一个接口变成了5个。
    2.对重复sql改写,变成动态sql。
    3.对所有页面做了解耦分离,互不干扰。
    4.将查询的指标进行了统一配置管理。

    前端篇:
    第一版
    1.以前的时候 逻辑都写在vue里面。
    2.网络请求没有统一管理
    3.以前后台的关系,定义个很多不需要的数据结构。

    第二版:
    1.将数据处理逻辑进行分离,将数据处理放到单独的js里面
    2.封装网络请求组件
    3.将整体的结构进行优化,对不需要定义的数据 不再定义。

    前端还有很多不足,可能要二期进行继续优化。。。。

    相关文章

      网友评论

          本文标题:项目总结

          本文链接:https://www.haomeiwen.com/subject/zswblftx.html