让App灵活扩展

对于一个商品App页面,一般不会直接显示商品列表。而是对商品分类,展示多个分类的商品信息
来增加用户点击,带动收入。分类像热门,运动,女性,数码这些。可能对应的接口可是就是类似下面
的格式:

 {
      errno: "0",
      end_state: "1",
      total: "-1",
      data: {
          hot: {
              data: []
          },
          sport: {
              data: []
          },
          it: {
              data: []
          },
          xx: {
              data: []
          },
      }
}

对应到客户端也是直接解析具体字段并分类展示,还可能会存在部分硬编码。编程珠玑中提到 数据决定
程序结构
, 那么什么决定数据结构呢? 业务需求! 上面接口数据格式,要是业务要增加一个分类呢?
服务接口添加业务逻辑,添加分类字段。客户端也要开发,等发版,放量,最后展示到用户整个周期是很长的。这种接口格式很难扩展功能。 怎么才能易于扩展呢?看看下面的格式:

 {
      errno: "0",
      end_state: "1",
      total: "-1",
      data: {
          {
              desc: hot,
              data: []
          },
          {
              desc: sport,
              data: []
          },
          {
              desc: it,
              data: []
          },
          {
              desc: xx,
              data: []
          },
      }
}

这种格式客户端不需要知道有多少分类,data里面每个元素就是一个分类,分类里面有自己的描述信息,
数据信息。若要添加分类,只要服务端添加分类数据就行。线上直接生效,避免了客户端开发,发版,放量。