美文网首页后端开发
接口、数据结构、信息架构的区别

接口、数据结构、信息架构的区别

作者: 刘英滕 | 来源:发表于2018-07-08 18:08 被阅读500次

    继上篇关于接口的文章,再来写一下接口、数据结构、信息架构的区别。

    以简书为例,简书里有文章、专题、用户,它们是不同的东西,这很好理解。而在开发层面,文章、专题、用户,它们分别是一种数据对象。

    比如文章这种对象,包含了标题、正文内容,也有字数、阅读数、喜欢数等等。或许还有一些没有向用户展示,但也会实际存在的数据,比如这篇文章被收藏了几次,可能也记录了下来,只是产品设计上没有被我们看到。

    那么文章这个数据对象,它的数据结构就可以表示为:

    {
      id: 1000,
      created_at: Fri, 11 Aug 2017 08:43:38 CST +08:00,
      shared_at: Fri, 11 Aug 2017 08:52:48 CST +08:00,
      last_updated_at: Fri, 11 Aug 2017 08:52:48 CST +08:00,
      wordage: 1000,
      view_count: 10000,
      likes_count: 2,
      title: 'xxxxx',
      ...
    }
    

    数据结构是计算机存储、组织数据的方式。

    实际中,业务越复杂,数据对象越多、数据结构也越复杂,一个对象可能包含有非常多的信息。如果我们在每个需要展示这些数据的地方,都去取所有的数据,这并不现实。数据太多会影响加载速度,没这个必要,也不安全。

    比如某个文章列表,我们只要标题、发布时间、封面图、阅读数、喜欢数、评论数,这些信息就足够了。接口就是干这件事的,它约定了某个接口可以拿哪些数据。

    应用编程接口,是软件系统不同组成部分衔接的约定。

    不同的地方用不同的接口,这样不会互相影响。有时为了快速上线需求,也会共用一些接口,节省服务端的工作量。实际上,接口也有版本之分,用来给新老版本调用,实现过渡。

    开发部门内部会有接口文档,服务端工程师会把有哪些接口、怎么使用接口给记录下来,让客户端工程师查阅使用。

    接口文档

    至于信息结构,虽然听起来跟数据结构有点像,但信息结构其实不是开发里的概念,而是交互设计、产品设计里的概念。

    信息架构是指对某一特定内容里的信息进行统筹、规划、设计、安排等一系列有机处理的想法。

    比如一个 App,包含了首页、搜索、消息这些板块,首页这个版本又包含了广告 banner、运营入口、信息流等等。这可以全局性地梳理一个产品,也是研究竞品的常见方式。

    某信息架构梳理

    相关文章

      网友评论

      本文标题:接口、数据结构、信息架构的区别

      本文链接:https://www.haomeiwen.com/subject/kjvzeftx.html