平台概述与技术栈

平台特点

  • 定制化开发

        适应SaaS定制化趋式,支持节点的轻度(选择方案)、中度(配置化)、重试(完全重新开发)定制化开发。

  • 小范围快速开发迭代、弹性部署。

        基于Sevice-Mesh的设计理念,支持千万级用户同时在线、支持1-N台机器的部署。

  • 低代码快速开发能力
  1. 开箱即用,免除复杂配置操作。
  2. 实体类与数据一体化设计,免除大部分SQL编写。
  3. 业务模板化,免除50%以上的错误处理操作,BUG减少30%以上。
  • 权限管理透明化

        权限控制对于开发人员是透明的,完全由后期运营人员通过页面进行配置。

  • 多工位支持

        不同能力的人协同工作且不影响作业效率,从菜鸟到牛人,都能找到自己的位置。

  • 回滚机制

        用户请求出现异常时,自动回滚数据库、缓存到请求之前状态,维持每个请求的原子性与幂等性。

        作者基于JPA重写了数据库模块,替换掉Mybatis,以维持请求的原子性,相比Mybatis,基于JPA更易学,开发效率更高。

  • 多租户支持

        单程序单库设计,单机轻松支持10万租户。

技术栈

        葫芦的主要工作方式为一个中级带领一群初始小白工作。因此在技术栈选型上,作者优先考虑了一个问题:学习曲线;其次是:技术栈要少,最好仅使用最基础的技术,以免超出小白的技能范围。作者努力将学习曲线设计的非常平缓,希望能达到一个目标:刚毕业入职新人(需要掌握Java与sql,大学必授课)最多三天足以熟练进行初级开发。

        葫芦采用前后端分离设计,后端部分被设计为语言无关的,作者首先提供了java语言基于SpringBoot实现,基于tomcat进行容器化部署,简单、性能也足够,用户群也足够大。

        葫芦前端技术采用Vue3+ElementUI,移动端基于UniApp,v1.0版开始提供一个WYSWYG(所见即所得的)可视化页面编辑器,简单使用鼠标拖动就可以完成大部分页面开发,无法完成的部分则进行Vue原生开发。

        作者在设计时借鉴了微服务的理念,但并没有选择Spring Cloud,选择了一种更简单的方式来实现微服务。依作者观点来看,软件研发的趋势是“开发越来越简单、成本越来越低”,Spring Cloud逆势而行,虽然现在很火但作者并不看好它,大概率是一个过渡性的技术。

方法论

        作者在开发设计葫芦时依照了两个基本的软件开发方法:测试驱动开发重构优化设计,二者相辅相成。依照这两种方法来进行开发可以达到事半功倍的效果。

        测试驱动开发是作者比较推荐的软件开发方法,基本思想就是在开发功能代码之前,先编写或是同步测试代码,然后只编写通过测试的功能代码,从而以测试来驱动整个开发过程的进行。作者编写了大量的测试用例,保证系统100%的测试覆盖率。作者并没有集成Mock工具,但提供了相应模块来创建测试环境,提高测试效率。

        软件开发是一个逐渐腐化的过程,作者建议在代码正式提交之前必须要进行一次重构。人对问题的认知有一个渐进的过程,是一个菜鸟变高手的过程,重构是高手去修正菜鸟阶段错误的过程,是一个优化的过程。重构的前提是拥有完整的、自动化测试环境,否则将是不可行的,必将引入新的bug。

        作者看来,测试驱动开发与重构优化设计应该成为从业者基本功。对于职场新人来讲,基本功打结实了,再去学架构、学AOP编程也不迟。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值