美文网首页
系统重构的一点思考

系统重构的一点思考

作者: jey恒 | 来源:发表于2018-03-08 22:14 被阅读101次

系统重构目的

统一规范

  • 统一代码格式化,开发规范,rpc规范,日志规范,sql规范,mybatis提示插件,lombok

合理划分架构

  • 原来架构设计不合理,层次太多,部署麻烦,容易出错
  • 前后端分离

提高系统稳定度

  • 提高开发效率
  • 提高代码可维护性

新技术,新方法论

  • spring boot
  • MVC
  • DDD
  • 微服务

经验,沉淀

  • 由一个项目重构如何推广到所有的新老系统

问题,解决

到底如何优雅的使用spring boot?

  • 原来第一个使用springboot的项目完全照着xml配置专场beanconfig的,这种做法不提倡
  • 多用starter解决问题,能配置的用配置搞定

怎样更好的使用mybatis生成

  • 因为我们设计都是沿用先设计数据库 [区别ddd],所以从表生成domain,mapper比较好
  • 注释混乱,命名不符合,字段映射问题,写mybaits gennertor扩展
  • 目前还有很多缺点[mapper会被覆盖,应该生成通用父类比较好,代码更加简洁]

模块划分api, common, service; service中 web层和service层,业务逻辑要放哪里?

  • 所有的业务都写到service层,尽量减少service层次 [其实还是会产生庞大的service]
  • controller只做简单的聚合,swagger api定义 [参考DDD application类似]
  • 由于定义了一套返回的api类,那service直接返回 XxxResult ? 那service之间的调用就会很麻烦了..[怎么解决]
  • 方法内强制 使用 类似Assert 做参数验证[也使用注释] 和 条件验证 ,异常由web层统一处理

各种业务对象如何定义

  • dto, domain, query, bo ?
  • 因为统一了 从表生成domain,mapper,xml等,所以规范了domain层只做持久化对象,不做业务逻辑,也不提倡修改
引入springboot后,quartz,动态数据源使用比较麻烦,所以会有对quartz,动态数据源的封装,还有excel处理等,分页等封装
image.png
沉淀组件之后,可以快速搭建新项目
  • 然而,还是要繁琐的建立项目,创建模块,引入自定义的包(怎么解决这个问题)
  • 创建maven脚手架

重构改善代码

  • 多用组合, 提炼方法,拒绝大类,拒绝无数if嵌套
  • 例子: https://www.jianshu.com/p/4e23d7002cbc
  • 解决if的问题: 用注册机制处理if问题,化if为类
  • 简单的类库推荐:

思考

  • 分析现有业务,重构代码
  • mvc 还是 ddd ?

相关文章

  • 系统重构的一点思考

    系统重构目的 统一规范 统一代码格式化,开发规范,rpc规范,日志规范,sql规范,mybatis提示插件,lom...

  • 知识重构的一点思考

    今日在地铁上有一个思考,关于知识的重构。 01 很多知识都是存在的,一旦与单个人的储备发生融合,并且在不断的验证中...

  • 30 - 重构之代码解耦

    重构可以分为大规模高层重构(简称“大型重构”)和小规模低层次重构(简称“小型重构”)。大型重构是对系统、模块、代码...

  • [golang]一个流程引擎的诞生记

    缘起 背景 2020年过年时重构了一下组内数据管理平台的工单系统,相关文章可参考:工单系统重构过程。 工单系统重构...

  • 移动应用遗留系统重构-MVP重构示例篇

    移动应用遗留系统重构(13)-???一镜到底!MVP重构示例篇 前言 上一篇移动应用遗留系统重构(12)- 编译调...

  • 动态可重构技术

    静态可重构技术 系统执行某个任务之前,将配置文件一次性写入可重构器件。 动态可重构 系统运行时,对可重构器件进行重...

  • 2021-05-06日更

    结构化思考是一套关于思考的系统方法论,传递的是“透过结构看世界”的核心理念。 结构思考力提出了“理解—重构—呈现”...

  • 任务系统重构的一些思考

    需求背景 本文主要介绍自己在项目中设计任务系统的一些思考;当前常见的任务 是利用一些大数据的工具,比如说 hado...

  • 一次订单系统重构实践

    ​在我们的工作中,经常会遇到系统或模块重构工作,今天就来聊一聊我曾经经历过的一次系统重构经历。 01背景‍ 重构发...

  • 重构老业务接口的思考

    最近在重构一些老得业务接口,在重构中有了一些思考;进而通过几个关键点说下重构的心得;1:重构的判定界限2:重构的切...

网友评论

      本文标题:系统重构的一点思考

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