Java 面向介面的程式設計

2021-09-25 06:24:55 字數 573 閱讀 1040

什麼是面向介面程式設計呢?我個人的定義是:在系統分析和架構中,分清層次和依賴關係,每個層次不是直接向其上層提供服務(即不是直接例項化在上層中),而是通過定義一組介面,僅向上層暴露其介面功能,上層對於下層僅僅是介面依賴,而不依賴具體類。

這樣做的好處是顯而易見的,首先對系統靈活性大有好處。當下層需要改變時,只要介面及介面功能不變,則上層不用做任何修改。甚至可以在不改動上層**時將下層整個替換掉,就像我們將乙個wd的60g硬碟換成乙個希捷的160g的硬碟,計算機其他地方不用做任何改動,而是把原硬碟拔下來、新硬碟插上就行了,因為計算機其他部分不依賴具體硬碟,而只依賴乙個ide介面,只要硬碟實現了這個介面,就可以替換上去。從這裡看,程式中的介面和現實中的介面極為相似,所以我一直認為,介面(inte***ce)這個詞用的真是神似!

使用介面的另乙個好處就是不同部件或層次的開發人員可以並行開工,就像造硬碟的不用等造cpu的,也不用等造顯示器的,只要介面一致,設計合理,完全可以並行進行開發,從而提高效率。

面向介面程式設計的好處是,實現**依賴介面,而不依賴具體的實現類,方便程式的擴充套件。

抽象類和介面的區別在於使用動機。使用抽象類是為了**的復用,而使用介面的動機是為了實現多型性。

面向介面 的程式設計

前幾天 和乙個朋友討論是否需要面向介面的程式設計 我們倆的意見截然相反 我當然是主張要面介面,需求不是乙個程式設計師正真應該 關心的 他則用實際的開發中大部分人不重視或不用介面 來反駁,提倡面向需求來程式設計。蓋 乙個雞圈 我們不會畫藍圖,但是蓋一作大廈吶?乙個好的建築隊的關鍵是要按照設計圖的樣式,...

面向介面的程式設計

面向介面的程式設計,將介面與實現分離,可以極大的降低 的耦合,比如在程式設計中使用的加密介面,如果將具體的加密演算法寫入到使用加密的地方,這樣就會導致,下一次加密方法發生改變的時候會導致大量的地方需要修改。如果是面向介面的程式設計,那麼只會在具體實現 的地方進行重寫乙個加密類即可。對外提供統一的密碼...

java面向介面程式設計

介面本質上就是由制定者來協調實現者和呼叫者之間的關係。所以通常說的 面向介面程式設計 可以理解為 只有實現者和呼叫者都遵循 面向介面程式設計 這個準則,制定者的協調目的才能達到。乙個老生常談的例子就是jdbc。很多人費解 既然我每連線一種資料庫 如mysql 都要事先部署驅動程式,那我直接訪問驅動程...