【开源框架】后端模块化开源框架,让SpringBoot开发效率激增,所有代码我只写1次,后端低代码的最优解。缩短项目周期。

Once框架实际上就是SpringBoot工程, Once框架只是在其基础上规整了工程结构和增加了代码生成器, 让后端开发人员通过配置接口流程即可完成一个接口的开发。

Once框架实际上就是SpringBoot工程, Once框架只是在其基础上规整了工程结构和增加了代码生成器, 让后端开发人员通过配置接口流程即可完成一个接口的开发。

我们做到了以下几点:

1、快速上手,后端开发人员1天就能上手。

2、工程内无任何深度封装和不可见代码,会SpringBoot即可看懂整个工程代码 。

3、降低后端团队人力成本,1个后端开发人员足以支撑4-5个前端开发人员。 

4、功能模块可持续积累,A项目中的功能模块复制到B项目的工程当中即可使用(需要一条命令做自动连接) 。

5、即使弃用了Once框架,工程仍然可作为SpringBoot工程继续被维护。

感兴趣的小伙伴可以到GitHub下载 ,我们的官网有完整的使用手册 。

我们将以以下顺序介绍

1、设计思想与工作原理 

2、业务代码开发 

3、模块代码开发 

1、设计思想与工作原理 

首先,我们介绍Once框架的设计思想与工作原理, 关于Once框架的设计思想还是要从一段经历讲起,之前我们参与过一个比较奇怪的项目 ,在短短3个月之间,后端基础框架换了3次 ,从SpringMVC换到SpringBoot最后再换到微服务。

虽然都是Java框架,理论上不会产生很大的工作量 ,但实际上换框架的工作量基本等于重写一遍代码 ,而将一份代码重写3遍期间 ,我们找到了一种可以让所有后端代码只写一次的方法 。这种方法,也就是Once框架的设计核心。

从宏观上讲,后端应用程序就是多个接口的集合 ,而对于单个接口来讲,是多个步骤的集合。从这样的认知出发 Once框架把后端代码分离了两层:

模块代码和业务代码 ,模块代码指的是单个步骤的功能代码(抽离成通用类), 如数据库操作模块、用户鉴权模块、参数检查模块等。业务代码指的是单个接口调用模块代码的步骤, 如第一步调用了用户鉴权模块、第二步调用数据库操作模块等。

后端代码分离了这两层后, 接口的处理过程就好像是工业生产线一样 ,完成了一个步骤后会继续下一个步骤, 直至完成或错误退出。

这样的做法确实算不上新奇,很多团队也是这样开发的 。但是,这样的做法仍然降低不了多少人力成本, 因为后端开发大部分的工作其实在业务代码的编写上。没错,就是这该死、重复且枯燥的业务代码上, 开发人员不得对每个模块类进行传参和对返回值进行处理。

Once框架的解决方法是加入数据池, 允许模块代码直接对这个数据池获取或增加数据 这样,业务代码就免去了处理模块返回值的麻烦工作 。而这个数据池,就好比是流水线生产的产品 ,通过一个个步骤的加工,最终变成成品返回请求端。

这样,业务代码会得到最终的简化与规整, 业务代码只需要开发人员设置处理流程以及每个步骤的参数即可。最后,Once框架加入了代码生成器 将重复的业务代码交由代码生成器生成 使用Once框架开发编写接口时, 只需要编写Json文件即可完成一个接口的开发 。

2、业务代码开发 

业务代码开发实际上就是编写json文件 编写一个接口等于制定步骤流程并设置好每一个步骤的参数 编写完成后,通过代码生成器即可生成对应的Java代码(Controller、Service函数)

这样能极度缩减代码编写的工作量 也能节省代码调试等一系列不必要的时间 这样做的好处不仅能节省开发成本,也保证了工程的可维护性 因为不会出现乱七八糟的代码,每个接口的流程和参数是十分明确的 所以开发人员可以快速理解别人写的接口 甚至编写业务代码的开发人员可以是经验较低实习生 因为业务代码无非就是流程和参数 至于实际的代码,如数据库操作、session操作等已经被模块代码写好了。

当然,这种方式也曾经被一些工程师质疑, 这种单一流程化的步骤,很难实现一些复杂的逻辑 但是,在实际项目当中,真正拥有复杂逻辑的接口只有很小一部分 大部分复杂逻辑是设计造成的 其实无需把批量更新和单个更新合并成一个接口 整合跨表数据的话,可以使用数据库视图 更新失败数据回滚的话,可以使用数据库事务。

而由于Once框架其实只是一种规则 ,其工程其实就是一个SpringBoot工程, 如果出现了一些复杂逻辑,是可以自由编写代码的。

但我们一般不推荐自由编写业务代码 ,即使是复杂的逻辑,也是可以通过编写特殊的模块代码完成。我们的官网有关于业务代码开发的详细文档, 后续我们也会不断更新业务代码的例子 。

3、模块代码开发

模块代码是一个步骤的功能代码 ,实际上就是一个类 ,一个模块类可以通过命令快速创建代码骨架 ,然后在里面编写Java代码就可以了 ,至于数据池、错误码、配置项、第三方Jar包引用、日志记录等 。我们的官方文档有详细说明。

由于业务调用模块的代码模板是相同的 ,所以如果发现一个模块写得不好或性能不好 可以直接对模块进行重构,而无需担心业务代码需要重新编写。不需要的模块也可以通过删除文件夹删除, 不会出现引用多余第三方Jar包的现象。

另外,我们提供了官方的模块库, 包括缓存模块、大文件分片上传模块、审计模块等 ,后续我们也会根据实际项目不断扩充模块库。

当然,模块库其实就是一个Git库 ,使用Once框架的团队也可以积累自己的模块库, 最后,Once框架是一套顶层架构,关心的是项目过程 ,希望用更低的人力成本完成质量更高的后端项目。

总结

Once框架本身只是一套规则,无任何深度封装和不可见代码, 无需担心以后的人不可维护, 因为工程本身就是SpringBoot工程。

Once框架虽然看起来是依赖SpringBoot的 ,但实际上,Once框架是面向后端这个软件形态的, Once框架的实际开发语言是可以更换的, 如果希望换成别的开发语言 ,我们也可以提供将Once框架翻译成不同开发语言的服务。但是,目前只有SpringBoot的版本, 后续会更新SpringCloud的版本。

最后,Once框架及其模块库是完全商用免费的, 如果想尝试的话,可以登入我们的官网查看使用说明 ,也可以加入我们的技术支持QQ群 ,我们会回答相关的问题 ,也会根据反馈开直播详细回答问题。

如何提升当然,我们也欢迎使用Once框架的团队捐赠一些通用模块, 共建更加丰富的模块库。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值