前言
相信大家對介面是不陌生的,但是你真的理解什麼是介面嗎?真的能用好嗎?我們口口聲聲說按介面 編程,到底如何介面編程呢?介面編程的意義在哪呢?...對於介面的迷茫,經常在三層結構裡面看到的 ,千篇一律的把每一個Dao都寫一個介面,每個Service再寫一個介面,因為他們看的例子就是這樣的,網 上很多例子都是這樣的,這就叫按介面編程了?!心裡沒底,到下次自己寫項目自己設計的時候再加上趕 進度怕是沒這麼勤奮的複製粘貼了,原因還是沒有明白介面到底有什麼用!甚著感覺介面這玩意就像脫褲 子放屁——多此一舉!真的是這樣嗎?那麼,接下來我和大家一起來探討關於介面的種種...
本文
一、什麼是介面、介面有什麼用
我們先看看別人是怎麼說介面的,我收集總結了一下,僅列出以下五種說法:
1.介面的意義在於頂替多重繼承。
2.介面的作用,一言以蔽之,就是標誌類的類別(type of class)。把不同類型的類歸於不同的介面 ,可以更好的管理他們。
3.介面簡單理解就是一種約定,使得實現介面的類或結構在形式上保持一致,使用介面可以使程式更 加清晰和條理化。
4.介面就是定義了一個合約,實現這個介面的類都保證自己符合這個合約要求。
5.介面從更深層次的理解,應是定義(規範,約束)與實現(名實分離的原則)的分離。
這裡我就不評價這幾種說法了,下面說說我理解的介面是什麼樣子的。這裡拿電腦裡的主板來講,主 板上有USB匯流排介面、基本外設介面(用來串連鍵盤、滑鼠、印表機等傳統外設)、磁碟機介面(用來連 接硬碟、光碟片磁碟機和軟碟機等)...很眼熟吧!!這些東西都是帶介面兩字的,我們稱之為 硬體介面或介面類型,在翻閱關於這些硬體借口資料的時候你經常會發現這些介面都是由許多有名的公司 如Microsoft、IBM、Intel、Apple等公司共同約定、開發的一種標準!!例如:USB是Compaq、DEC、IBM 、Intel、Microsoft、NEC(日本)、Nothern Telecom(加拿大)等7家公司與1994年11月聯合開發的電腦 串列介面匯流排標準;IEEE 1394是1986年由Apple公司和TI(德克薩克儀器)公司開發的高速串列介面標準, 命名為“火線”(Fire Wire)等。那麼為什麼要制定這些標準呢?包括現在都在爭的3G標準,更有專門的 標準組織和標準委員會。全世界硬體廠商多不勝數,隨便列幾個:
CPU: Intel、AMD
記憶體: 金士頓、黑金剛、宇瞻
硬碟: 日立、希捷