[TOC]
什么是接口
看到這兩個(gè)字,第一反應(yīng)是什么炭臭?估計(jì)是USB接口永脓、type-c接口。這兩個(gè)確實(shí)是我們一般人聽得最多的接口了鞋仍。我們生活里到處是接口常摧,各種形式的。
實(shí)物硬件接口:
插座是電器和電源之間的接口威创。電腦更有一堆接口落午,USB接口、接顯示器的hdmi接口肚豺、接硬盤的sata接口...手機(jī)的電源線接口有micro usb溃斋、usb-TypeC等。軟件的接口
軟件領(lǐng)域里的接口最質(zhì)樸的定義就是函數(shù)了详炬⊙卫啵看一個(gè)很簡單的c語言函數(shù),放心呛谜,不會編程也看的懂在跳。
int add(int a,int b)
輸入兩個(gè)數(shù)a和b,計(jì)算它們的和后返回隐岛。-
社會里的接口
我曾經(jīng)就職過的一家公司的新員工手冊是這么寫的:人事相關(guān)接口是xxx猫妙,財(cái)務(wù)接口是xxx,...
這個(gè)說法我很喜歡聚凹,一家主要人員是碼農(nóng)的公司割坠,用接口來定義每個(gè)人的崗位職責(zé)再合適不過了,天天和接口打交道的碼農(nóng)們一聽就明白了妒牙。
這個(gè)說法其實(shí)很“妙”彼哼。因?yàn)楫?dāng)我們說“人事問題找XXX的時(shí)候”,我們更關(guān)注的是XXX這個(gè)名字湘今。而當(dāng)我們用“接口”一詞的時(shí)候敢朱,我們第一想到的是這個(gè)接口提供哪些功能,比如考勤、請假拴签、錄指紋什么的孝常。XXX這個(gè)名字被弱化,XXX作為一個(gè)接口它提供的功能被強(qiáng)化蚓哩。
我們把視角抬高构灸,看向這個(gè)社會,社會里各個(gè)人岸梨、組織其實(shí)不是都在扮演一個(gè)個(gè)“接口”么喜颁?售票員是一個(gè)輸入錢返回車票的接口;教師是一個(gè)輸入未教育學(xué)生提供教育后學(xué)生的接口盛嘿;國家的環(huán)保部門屬于國家的環(huán)保接口洛巢,提供環(huán)保規(guī)劃、檢測次兆、提高的功能;...
接口的本質(zhì)
這么多接口,它們都有一個(gè)共同特點(diǎn):
輸入一些東西锹锰,做一些處理芥炭,然后輸出一些東西。
USB恃慧、hdmi這些電氣接口進(jìn)行的是電信號處理园蝠,輸入一些電信號,輸出一些電信號痢士;軟件接口進(jìn)行的是數(shù)據(jù)處理彪薛,輸入一些數(shù)據(jù),輸出一些數(shù)據(jù)怠蹂;社會接口提供的是社會服務(wù)善延,輸入錢、材料城侧、問題易遣,按照服務(wù)約定處理,返回購買的東西嫌佑、處理過的材料豆茫、解決后的問題。
參考一下百度百科里官腔的定義:
接口泛指實(shí)體把自己提供給外界的一種抽象化物(可以為另一實(shí)體)屋摇,用以由內(nèi)部操作分離出外部溝通方法揩魂,使其能被內(nèi)部修改而不影響外界其他實(shí)體與其交互的方式。
接口間的相互調(diào)用
接口并不是獨(dú)立的炮温,接口之間相互依存火脉、寄托,一個(gè)接口會調(diào)用另一個(gè)接口,一個(gè)接口會被N個(gè)接口調(diào)用忘分。
接口的層次
接口并不是完全平等的棋枕。有些接口是底層的,它們提供一些基礎(chǔ)的服務(wù)妒峦,比如驅(qū)動程序提供的硬件操作接口重斑,政府部門提供的政府服務(wù)接口;有些接口是上層的肯骇,比如USB接口窥浪,普通人每天都在用,比如超市的收銀員笛丙。
系統(tǒng)由一系列接口組成而成
一個(gè)系統(tǒng)漾脂,是由不同層次的接口組成的。
拿計(jì)算機(jī)系統(tǒng)舉例:
硬件廠商提供了驅(qū)動程序胚鸯,這是操作硬件的接口骨稿。
操作系統(tǒng)調(diào)用這些硬件接口,向上提供一些更好操作硬件的接口姜钳,因?yàn)橹苯硬僮黩?qū)動程序太難了坦冠。然后添加一些文件、進(jìn)程哥桥、內(nèi)存辙浑、網(wǎng)絡(luò)的接口給上層程序使用。
為了更方便的讓碼農(nóng)們寫程序拟糕,人們發(fā)明了C語言判呕。運(yùn)行C語言開發(fā)的程序需要在系統(tǒng)上安裝一個(gè)C語言運(yùn)行接口庫。
碼農(nóng)們用C語言開發(fā)了各種應(yīng)用程序送滞,同時(shí)也開發(fā)了一些上層接口侠草,比如圖片處理、音頻處理...
接口是算法累澡、服務(wù)的實(shí)現(xiàn)形式
我們做數(shù)學(xué)題梦抢,題目提供一些已知數(shù),我們按照我們的算法愧哟,返回目標(biāo)數(shù)奥吩。用接口的模型看,我們的算法就是一個(gè)接口蕊梧。
我們常聽到“服務(wù)器”霞赫,服務(wù)器干嘛的?顧名思義肥矢,提供的是“服務(wù)”端衰。那服務(wù)的實(shí)質(zhì)是什么叠洗?我們使用服務(wù)器的服務(wù),其實(shí)最終還是實(shí)現(xiàn)為調(diào)用一個(gè)程序接口旅东。
算法灭抑,服務(wù),最終都要以接口的形式實(shí)現(xiàn)抵代。
累積腾节、迭代自己的接口庫
很多接口放在一起作為一個(gè)集合,就是接口庫荤牍。
我們接口庫里的接口越多案腺,能做的事情就越多;我們的接口越高級康吵,效率就越高劈榨,這一生能做的事情就越多,等于延長了生命晦嵌。
人的接口庫
有些人可以幫你解決工作難題同辣;有些人可以總是知道哪里有好吃的,有些人可以幫你解決各種汽車問題惭载;有些人邑闺,可以在你失意時(shí)陪你喝酒。做事的接口庫
隨著我們的成長棕兼,我們積累了越來越多的做事方法。怎么高效閱讀抵乓?怎能么快速搜索伴挚?怎么快速地做出外觀漂亮內(nèi)容充實(shí)的PPT?將這些方法總結(jié)出來灾炭,以接口的思維審視它茎芋,這些方法就是你的一個(gè)個(gè)接口。
不斷的累積和迭代我們的接口庫蜈出,變得越來越高效田弥。