比如你有一个发送短信功能。
然后你的pc网站、移动网站、小程序、app端,都要使用到。
做法呢,大概有2种。
一种是发送短信功能提取一个公共项目,写成接口,分别给这4个项目调用。
一种就是每个项目都开发这个发送短信功能(差评做法)。
第一种做法,就是需要公共项目中封装一个controller,然后提供一个接口地址,让4个项目请求。
http的做法呢:
开发流程大概就是写好发送短信的类,然后封装一个controller,controller里new一个短信发送类,调用这个短信对象的方法,然后再json返回。
客户端调用的时候需要http.get() http.post()这类的请求,然后再解析返回结果。
rpc的做法呢:
直接在具体产品项目中,new一个短信发送类,只是这个类在远程的公共项目中。
new完类,直接调用它的方法。在写法上和创建本地类一样,不需要额外封装。
当然建立rpc服务端肯定相对应也就麻烦很多了。
所以我个人是把rpc用于对公司内部的项目。
把http作为对外项目。
每一个项目单独保留controller,其它model啊,library都在rpc中。
这样每个项目就成了拼接数据的网关。
model和library类的代码也不至于每个项目都有一份。
skip
多频传媒