首页 > 多个项目中的公共功能怎么处理?

多个项目中的公共功能怎么处理?

现有一个已运营的网站,网站上提供了一套评论系统,评论系统中包含评论功能及相关的奖励积分、消息通知等。

现在公司需要制作一款APP,APP中也包含评论系统。

根据业务分析,有四种解决方案:


  1. 把评论系统及相关的代码复制一份到APP接口的项目中
  2. 把评论系统及相关的代码打包引入到APP接口的项目中
  3. APP接口服务器在接收到APP的评论相关请求的时候转发到网站服务器进行处理
  4. APP中直接请求网站服务器的评论接口

这四种方案都有各自的好处:

  1. 第一种实现起来最快,但是易用性、扩展性最差。而且代码混乱。
  2. 第二种方式相对比较理想,但是需要对现有的整个评论功能的代码进行抽离。花费时间较长。
  3. 第三方方式架构较为清晰,但是会导致请求处理流程变长,其中某一个环境出问题会影响整个流程。
  4. 第四种实现较为简单,但是把不同的项目的接口混淆,感觉不太合适。
这里问一下大家在开发的过程中是怎么解决这个问题的?一些大的公司是怎么处理的?例如支付宝在网站进行付款和在手机APP进行付款的流程有何不同?



个人想法..
如果是不同项目, 就分开两份儿... 毕竟项目不同以后的需求有可能不同, 不要相互绑住对方.
相同项目, 不同端(pc,网页,手机), 那也最多只是参数不同啊, 用的是相同的后台 比如你说的支付宝. 顶多中间有一层不一样, 但是后面就是统一的了, 因为算是同一个项目不同入口而已.
感觉你说的是像是相同项目, 数据是可以互通的, 那就只是不同入口而已... 加参数记录和判断是哪个端来的消息, 但是再后面的逻辑就是一样的...
综上, 如果是我的话, 会在中间加一个步骤(可能是参数, 也可能是逻辑), 后面用统一的代码逻辑.


这个问题在于,在做第一个项目的时候就没有考虑到评论系统单独剥离出来服务化
如果以后还有可能第三个项目也用到这个评论,建议现在剥离出来,然后提供统一的API接口

【热门文章】
【热门文章】