公司是一家tob的物联网车联网公司 然后做saas软件 很多项目都是需要面对多个客户 每个客户的需求可能大致相同 有些细节或者流程会不同
困扰 第一版出来之 后分开写的话 就需要维护很多个项目 如果写到一个项目中的话 会变得很复杂 流程测试也很蛋疼 可能会改动其中一家的需求 影响到另一家的流程
然后公司还有很多中台服务 比如 负责登陆的用户中心 负责认证的 负责数据的 还有业务的中台 等等一堆。。
导致做项目的时候 即使需求不是很多 也会有很多人参与进来 一二十人都很正常 因为涉及的中台服务 岗位 很多 开发周期也很长
感觉体验不是很好 QAQ
个人感觉问题的所在就是如何“优雅”解决不同客户的需求的问题
有没有有过这种经历的大佬 给点建议的QAQ
我们原来做saas,主体功能是不变的。 变的是UI跟对接。
@Gitforxuyang 对呀 就一个小功能可能5个客户都不一样 怎么处理? 后台写5个接口 还是写一个接口? 前端写5个组件 还是写一个组件写5个if 还是其他解决方案
UI我们原来就是局部允许自定义(banner啥的)。 后端只有支付部分是需要对接的。
公司好像也有这个问题…目前好像是分开写的, 一个人负责一个客户的需求, 接口…好复杂
做一套标准版,兼容一些小一点的处理逻辑,如果有大的需求,针对大客户做定制版。 另一个思路是以应用市场的形式把能力抽象出来,客户有需求自行安装一套你们抽象出来的应用,做配置。 两种都需要对业务有好的抽象,都不算是短时间能完成的事。
物联网差不多的场景,同求大佬。目前用的是上面大佬说的做一个标准版,推广的时候尽量使用标准版推广,大客户加钱定制。把可配置的功能最初设计的时候就要分离出来,不然后面会非常难维护。 后台写5个接口 还是写一个接口? 2楼说的这个问题,目前 做成一个接口正在被app的吐槽非常难用。
90%的代码解决10%的需求。
强烈建议参考一下CabloyJS的架构设计。CabloyJS将所有业务逻辑化整为零,切分为不同的模块,需求变化较小的较通用的作为核心模块,需求变化大的定制化强的作为业务模块。这样就可以兼顾通用+定制的应用场景。此外,通过多域名的机制,天然的支持多租户场景,在可控的同时,给每一个租户更大的定制灵活性。