现在的情况是这样的:有两个项目,一个是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层所在的项目宕机了,那两个项目都宕机了。所以我还是倾向于使用第一种方法。各位大神,你们觉得哪种方式会更好一点。为什么?求指导。。
现在有两种解决方案。
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层所在的项目宕机了,那两个项目都宕机了。所以我还是倾向于使用第一种方法。各位大神,你们觉得哪种方式会更好一点。为什么?求指导。。
pc端应该在内存中调用,手机api则是http
因为公司选了2,那肯定是因为两个项目用的同一套数据库。如果用同一套数据库,当然应该底层共用的。
问题他也是采用mvc的架构来开发的。
开始流行 SOAP 后来都退到 RPC ,现在的 API 都采用原始的 REST 了
只是个人想法,不管是pc端还是手机端,不管是html页面还是需求json数据,想处理数据都必须依赖model层,而model层也不能直接被用户访问到。
楼上给位大神都已经帮你解决了!打个酱油!我就想知道是CSDN系统发出的邀请还是您!!!
现在的CSDN都会根据上线间隔推选邀请人吗?