介面、資料結構、資訊架構的區別
繼上篇關於介面的文章,再來寫一下介面、資料結構、資訊架構的區別。
以簡書為例,簡書裡有文章、專題、使用者,它們是不同的東西,這很好理解。而在開發層面,文章、專題、使用者,它們分別是一種資料物件。
比如文章這種物件,包含了標題、正文內容,也有字數、閱讀數、喜歡數等等。或許還有一些沒有向使用者展示,但也會實際存在的資料,比如這篇文章被收藏了幾次,可能也記錄了下來,只是產品設計上沒有被我們看到。
那麼文章這個資料物件,它的資料結構就可以表示為:
{
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、運營入口、資訊流等等。這可以全域性性地梳理一個產品,也是研究競品的常見方式。
相關文章
- LNMP架構與LNAMP架構的區別LNMP架構
- bs架構與cs架構的區別架構
- SOA架構和微服務架構的區別架構微服務
- 資料結構中樹和森林的區別資料結構
- 超融合架構與傳統IT架構的區別架構
- H5架構和原生架構的區別H5架構
- X86架構與ARM架構的區別:架構
- 架構離不開資料結構架構資料結構
- 資料結構:順序結構和鏈式結構的資料型別定義資料結構資料型別
- HBase 系統架構及資料結構架構資料結構
- 組織架構新型資料結構思考架構資料結構
- Hbase 系統架構與資料結構架構資料結構
- 以資料庫為中心的架構與以領域為中心的架構的區別 - DevSDhami資料庫架構dev
- SOA架構和微服務架構的區別是什麼?架構微服務
- 架構之:資料流架構架構
- 說說你對資料結構的理解?有哪些?區別?資料結構
- 按照業務領域畫資料架構圖 業務架構 資料架構架構
- 四大CPU架構的區別架構
- 【虹科乾貨】Lambda資料架構和Kappa資料架構——構建現代資料架構架構APP
- 大資料基礎架構總結大資料架構
- MVC與三層架構區別MVC架構
- 面向資料的架構架構
- JVM結構-記憶體結構(執行時資料區)JVM記憶體
- 合理的商品結構規劃–資料資訊圖
- 關於架構離不開資料結構之說架構資料結構
- Q:Spark和Hadoop的架構區別SparkHadoop架構
- [架構設計] 元件和模組的區別架構元件
- net三層架構與MVC的區別架構MVC
- 重構、重新架構、再設計與重寫的區別架構
- 結構化資料、半結構化資料和非結構化資料
- 【資料結構篇】認識資料結構資料結構
- 什麼是CS和BS結構,兩種結構的區別
- MT和MPT—區塊鏈的資料結構區塊鏈資料結構
- 業務架構、資訊架構、技術架構三位一體架構
- 求救,架構和框架什麼區別?架構框架
- 資料基礎架構中的新技術方法:惠普HPE Ezmeral資料結構架構資料結構
- java架構-執行緒和程式的區別Java架構執行緒
- 架構師與程式設計師的區別架構程式設計師