关于接口的问题
现在的情况是这样的:有两个项目,一个是pc端的,一个是app的。服务层都是用php来写的。
现在有两种解决方案。
1、分别建立两个项目,然后分别有自己的业务逻辑和model层。实现两个api完全独立开来。
2、也是建立两个项目,也有自己的业务逻辑,但是共用一个model层。因为是相对应的pc端和app。所以在一些业务逻辑上有很多相似的地方。所以可以把model层放在APP上,然后通过curl之类的一些发起http请求的去获取相对应的数据。这样的好处就是可能是相同的模块请求(指的是app上和pc上的同一个模块,比如说某个列表)会请求同一个url(共用model层,业务上可以用一个标志位来分开,比如,1是app,2是pc上的请求),会减少一定量的代码量(因为model共用),还有可能在修改某个业务逻辑的时候可能修改的地方会少一些。
因为是到一家新公司,所以他们用的2的这种方式来实现。但是我个人总觉得这样是不好的。原因有下:
1、这样的耦合度太高了(项目没有完全区别开来)。
2、在使用curl去获取数据的时候回发起新的http请求,这样会增加额外的带宽,而且会不会出现http请求的过程中出现未知的问题。
3、如果出现一方宕机了,比如说model层所在的项目宕机了,那两个项目都宕机了。
所以我还是倾向于使用第一种方法。各位大神,你们觉得哪种方式会更好一点。为什么?求指导。。