美文网首页
重构实践(1)

重构实践(1)

作者: 墨_0b54 | 来源:发表于2021-10-21 23:30 被阅读0次

本身是一个性能优化的需求,优化过程中发现这个实体类的查询很复杂,涉及到很多表,很多关系。
涉及到很多的嵌套查询,很多数据要作为参数在嵌套查询中传递,或者很多数据需要重复查询。
重构的想法:

  1. 构建一个查询的上下文类,将所有涉及到 这个超大实体的查询都放在上下文对象中,并实现懒加载。
  2. 在优化过程中,将嵌套的数据拆分到多个上下文类,将原本的整个上下文类根据实体的聚合关系进行拆分。
  3. 将实体数据逐渐重构移动到各个上下文中。
  4. 在这个过程中还发现一些几乎不变的数据,可以做成缓存,减少查询。
    重构结束后,数据的获取被限制在上下文中,数据更有组织,然后查询的代码就不会散落在各个函数中,并且消除了null判断,查询流程清晰易理解。
    再进一步,这个重构可以应用在当前项目里所有超大对象的查询里。

相关文章

  • 重构实践(1)

    本身是一个性能优化的需求,优化过程中发现这个实体类的查询很复杂,涉及到很多表,很多关系。涉及到很多的嵌套查询,很多...

  • 重构

    重构 重构作为敏捷实践的精髓之一 1重构的几个要点 重构不应改变原有程序的可观测的行为 把添加新功能和重构当做两件...

  • 结构思考力练习2一20161023

    作业一要求: 参考范例: 我的作答: 作业二要求:重构上周实践案例,画重构图 重构作答:

  • iOS重构实践

    iOS重构实践: http://www.code4app.com/blog-873057-3263.html

  • iOS重构实践

    项目简介和MVP模式重构 项目简介 首先简单介绍一下项目情况。我们原有项目的架构是比较标准的MVC模式,也是苹果官...

  • 架构重构实践

    局部架构重构 1. 架构重构的驱动力 坏味道驱动 规划驱动 架构组织与架构过程中的重构 2. 坏味道如何判断 以下...

  • iOS重构实践

    最近完成了我司iOS项目的重构,把整体的代码架构都梳理了一遍,主要按照MVP的架构模式,并综合考虑了重构的难度和效...

  • 重构实践(2)

    依旧是接口性能优化,查看调用过程后,发现大部分时间耗在服务间调用,其次是一个超多数据的查询。 查看接口代码后发现,...

  • 一个不甘于平庸的码龙2018年总结

    架构的实践和理解 2018年做了很长时间的重构,不承接任何新业务 全部的时间 和精力都在重构, 重构过程中都是是把...

  • Effective Refactoring in C++ (三)

    高效重构 当我们熟练掌握了重构技术后,还不能就此说自己在实践中已经可以安全而高效地实施重构了! 因为落到真正的工程...

网友评论

      本文标题:重构实践(1)

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