客户的需求虽然千变万化,基本上还是可以分为公用需求和私有需求的。公用需求要做到固化,可以快速复制到新项目。私有需求要隔离,隔离在单个项目中。平台或应用升级时不能破坏私有需求。平台既然要做生态就需要应对固化和变化。
后台作法:
1、公用部分封装在jar包里,上传到maven库。
当然maven库可以是生态圈的公用maven,也可以是购买平台的用户的私有maven
公用组件是统一管理的,只有版本不同,不区分项目。
公用组件拆分为dto core control层
service为最后封装的微服务,平台的service没有其他东西,只是调用公用jar
2、如果各项目有私有功能,直接做在service的工程里。也就是先复制一个service工程,然后私有的东西都加到这个工程里。
前台做法:
按目录分开,公共组件,标准功能在预先定义好的目录里。
私有的东西另外的目录。
数据库做法:
私有业务自行建表,不得破坏公共表
平台会根据公用组件的版本自行维护数据库结构,无需手工操作。