大型SAAS管理平台需不需要拆分成多个工程?

前言

最近在做一个美业的SAAS系统,里面包含了门店ERP;客情管理(CRM);支付系统;直播系统;营销系统;商城系统;在线预约系统等等,所以面临了一个经典问题,这么多的大模块还涉及到权限的问题,是否要按照大的类别或者功能模块拆分出多个独立的项目工程?

思考了良久,我决定拆分,但是我又纠结拆分后将来是否要合并?于是乎网上搜索后,提醒了我,这位网友是这样说的:架构是一门拆分&聚合的平衡艺术!于是乎我想到了一句更经典的话:天下大势,分久必合,合久必分!看来做架构尤如一位政治家在思考问题一样啊!调侃调侃!

正文

美业SAAS是集诸多功能于一体,线上线下相结合,而且里面的权限还很复杂,这也是我为什么一定要拆分的理由!

简单来说下权限这块,管理平台的使用用户人群分为这三大类:1、平台;2、服务商;3、门店。而这三类里有有着各自的权限,这三大类的功能或者页面也存在差异化,但是也有大量的同质化,如果做到一个项目工程里,逻辑量会大大增加,代码量会减少一些;分开做逻辑量会大大减少(因为不用去特别考虑权限这块的逻辑,只关注业务功能和本模块的权限),代码量会增多一些!

思来想去的决定还是拆,因为这套系统是新做的,对于业务没有什么过多的参考经验,长年的工作习惯也让我养成了一个习惯就是,如果不能短时间彻底想明白的事情,还有可能存在很多坑的前提下,那么我就下意识选择拆分,选择简单的路线来走,因为简单导致专注和高效!

而对于拆分后,代码量的增加这块,我是这样思考的,api这边将更多的功能封装的sdk中,供其他工程调用;前端也将更多的通用组件或者js库封装起来,供其他工程使用,这样在一定程度上会减少代码量!

你可能感兴趣的:(大型SAAS管理平台需不需要拆分成多个工程?)