Android前端人员与后台开发的撕逼(一)

  首先代表一下身份,本人是Android前端开发人员,本篇只作合理性探讨,不进行人身攻击; 前端

其次但愿各位大神进行点评!点评!点评!  数据库

咱们讨论一下接口的两种返回方式,直接举例说明一下,假设书籍信息表有30个字段,如今有各类排行榜和列表都须要显示书籍基本信息,但显示的属性通常会有5-8个左右,各个排行榜显示的字段内容有可能不同,每一个版本显示的属性也可能不同,那么问题来了,是每次排行榜和列表都返回全部的30个字段仍是每次按需返回相关字段呢?后端

方案一:每次列表和排行榜都返回全部字段安全

优势:接口稳定,不须要每次升级增长或修改字段服务器

缺点:字段冗余,消耗流量框架

 

方案二:按需返回相关字段spa

优势:减小冗余字段,数据不乱,结构清晰设计

缺点:升级版本或需求改变的时候接口须要做对应调整接口

 

我我的趋向于采用第二种方式,缘由就是方案二的优势比较适合移动端开发规范,而针对于方案二的缺点,我建议服务器端创建按字段返回内容的框架,举例说明A排行榜须要BookId,BookName,BookScroe,另外一个排行榜B须要返回BookId,BookName,BookDesc,那么后端实现逻辑可简写为:开发

Public object getA_List() //获取排行榜A

{

   Return getBookInfo(new String[]{BookId, BookName, BookScroe});

}

 

Public object getB_List() //获取排行榜B

{

   Return getBookInfo(new String[]{BookId, BookName, BookScroe});

}

 

Public object getBookInfo (String[] m_Param) //统一获取书籍信息的方法

{

   //实现逻辑

}

同理、同一个排行榜A升级版本只需作分支判断就行了; 

另外这个getBookInfo(String[] m_Param)在服务器端定义完后,是否客户端根据每次变化,调用getA_List()方法的时候把须要的后台字段,,好比后台定义方法以下:

Public object getA_List(String[] m_Param) //获取排行榜A

{

   Return getBookInfo(m_Param);

}

那么后端接口就相对稳定,而前台也能够灵活地根据须要的字段来进行获取了?

我我的意见呢依然是让服务器端来处理这类逻辑,理由:

一、 咱们须要作的客户端尽可能是瘦客户端;

二、 前台人员不须要关注后台数据表的结构设计,可以快速地进行效果和流畅度的开发,也就是说前端和后端应该是透明的;

三、 考虑到安全性问题,由于若是前端传递参数的话后台数据库的结构表都暴露出来了。

 

最后,仍是但愿各位大神不吝赐教!

相关文章
相关标签/搜索