java面向介面程式設計

2021-05-17 18:08:20 字數 968 閱讀 6818

介面本質上就是由制定者來協調實現者和呼叫者之間的關係。

所以通常說的「面向介面程式設計」可以理解為:

只有實現者和呼叫者都遵循「面向介面程式設計」這個準則,制定者的協調目的才能達到。

乙個老生常談的例子就是jdbc。

很多人費解:既然我每連線一種資料庫(如mysql)都要事先部署驅動程式,那我直接訪問驅動程式不就行了?還要jdbc幹嗎?

實際上,jdbc已經起了至關重要的作用了:正因為驅動程式是按照jdbc所規定的方法編寫的,你才可以按照jdbc的方式去使用。

換句話說,如果驅動程式提供者不按照jdbc標準來編寫,而是按它自己獨創的方式編寫,那麼你在使用驅動程式的時候就要花時間檢視驅動程式的文件以搞清楚用法。而當你日後決定使用另一種資料庫的時候,這種資料庫的驅動程式也不是按照jdbc編寫的,你又得去搞清楚另一套完全不同的用法,而你的所有**都必須做相應的更改。這種代價是不可想象的。

而現在的情況是,驅動程式提供者都按照jdbc規定的方式來編寫,程式設計師都按照jdbc規定的方式來使用。程式設計師不用關心自己正在使用何種資料庫,而驅動程式編寫者也不用費盡心力去編寫介面文件來向程式設計師解釋驅動程式的用法,大家都向標準看齊就行了。

現在,你覺得面向介面程式設計的好處還不明顯嗎?

當你正在你的鍵盤上打字的時候,你是否想到,你在學校就學會了的打字方法至今還在用,因為所有計算機鍵盤的布局都是一樣的。

這時,你會不會由衷地感激這個設計鍵盤布局的人呢?正是他讓你只要學會一種打字方法就可以用在所有計算機的鍵盤上。

介面 = 電腦的usb插口!

因為介面訂好了,所以那面到底插的是什麼就不重要了!

我們使用者只需要

1 插上去

2 停用移動裝置

3 拔下來

這三個就好似usb的介面功能。他隱藏了實際功能,但提供給使用者統一的操作介面和使用方式

我記得我曾經在一篇帖子中提到過,乙個介面可以從三方面去考察:

制定者(或者叫協調者),實現者(或者叫生產者),呼叫者(或者叫消費者)。

java面向介面程式設計

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

Java之面向介面程式設計

面向介面程式設計主要涉及到 在程式中一旦遇到使用外部類時,就使用介面讓程式避免依賴於外部類,這樣一來,外部類對程式來說就是乙個抽象的外部介面,而不是乙個個具體的類了,然後在這些外部類中新增介面函式!但是介面型別的函式不是需要到處使用的,當主程式過分依賴外部類的時候使用。我們知道類中的方法主要是由有邏...

Java 面向介面的程式設計

什麼是面向介面程式設計呢?我個人的定義是 在系統分析和架構中,分清層次和依賴關係,每個層次不是直接向其上層提供服務 即不是直接例項化在上層中 而是通過定義一組介面,僅向上層暴露其介面功能,上層對於下層僅僅是介面依賴,而不依賴具體類。這樣做的好處是顯而易見的,首先對系統靈活性大有好處。當下層需要改變時...