繼上篇關(guān)于接口的文章,再來寫一下接口族沃、數(shù)據(jù)結(jié)構(gòu)频祝、信息架構(gòu)的區(qū)別。
以簡書為例脆淹,簡書里有文章常空、專題、用戶盖溺,它們是不同的東西漓糙,這很好理解。而在開發(fā)層面烘嘱,文章昆禽、專題、用戶蝇庭,它們分別是一種數(shù)據(jù)對象醉鳖。
比如文章這種對象,包含了標(biāo)題哮内、正文內(nèi)容盗棵,也有字?jǐn)?shù)、閱讀數(shù)、喜歡數(shù)等等漾根。或許還有一些沒有向用戶展示鲫竞,但也會實(shí)際存在的數(shù)據(jù)辐怕,比如這篇文章被收藏了幾次,可能也記錄了下來从绘,只是產(chǎn)品設(shè)計(jì)上沒有被我們看到寄疏。
那么文章這個(gè)數(shù)據(jù)對象,它的數(shù)據(jù)結(jié)構(gòu)就可以表示為:
{
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',
...
}
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲僵井、組織數(shù)據(jù)的方式陕截。
實(shí)際中,業(yè)務(wù)越復(fù)雜批什,數(shù)據(jù)對象越多农曲、數(shù)據(jù)結(jié)構(gòu)也越復(fù)雜,一個(gè)對象可能包含有非常多的信息驻债。如果我們在每個(gè)需要展示這些數(shù)據(jù)的地方乳规,都去取所有的數(shù)據(jù),這并不現(xiàn)實(shí)合呐。數(shù)據(jù)太多會影響加載速度暮的,沒這個(gè)必要,也不安全淌实。
比如某個(gè)文章列表冻辩,我們只要標(biāo)題、發(fā)布時(shí)間拆祈、封面圖恨闪、閱讀數(shù)、喜歡數(shù)缘屹、評論數(shù)凛剥,這些信息就足夠了。接口就是干這件事的轻姿,它約定了某個(gè)接口可以拿哪些數(shù)據(jù)犁珠。
應(yīng)用編程接口,是軟件系統(tǒng)不同組成部分銜接的約定互亮。
不同的地方用不同的接口犁享,這樣不會互相影響。有時(shí)為了快速上線需求豹休,也會共用一些接口炊昆,節(jié)省服務(wù)端的工作量。實(shí)際上,接口也有版本之分凤巨,用來給新老版本調(diào)用视乐,實(shí)現(xiàn)過渡。
開發(fā)部門內(nèi)部會有接口文檔敢茁,服務(wù)端工程師會把有哪些接口佑淀、怎么使用接口給記錄下來,讓客戶端工程師查閱使用彰檬。
至于信息結(jié)構(gòu)伸刃,雖然聽起來跟數(shù)據(jù)結(jié)構(gòu)有點(diǎn)像,但信息結(jié)構(gòu)其實(shí)不是開發(fā)里的概念逢倍,而是交互設(shè)計(jì)捧颅、產(chǎn)品設(shè)計(jì)里的概念。
信息架構(gòu)是指對某一特定內(nèi)容里的信息進(jìn)行統(tǒng)籌较雕、規(guī)劃碉哑、設(shè)計(jì)、安排等一系列有機(jī)處理的想法亮蒋。
比如一個(gè) App谭梗,包含了首頁、搜索宛蚓、消息這些板塊激捏,首頁這個(gè)版本又包含了廣告 banner、運(yùn)營入口凄吏、信息流等等远舅。這可以全局性地梳理一個(gè)產(chǎn)品,也是研究競品的常見方式痕钢。