當前位置:首頁 » 編程軟體 » 面向介面編程

面向介面編程

發布時間: 2022-01-10 08:23:53

⑴ 什麼是面向介面編程

在一個面向對象的系統中,系統的各種功能是由許許多多的不同對象協作完成的。在這種情況下,各個對象內部是如何實現自己的對系統設計人員來講就不那麼重要了;而各個對象之間的協作關系則成為系統設計的關鍵。小到不同類之間的通信,大到各模塊之間的交互,在系統設計之初都是要著重考慮的,這也是系統設計的主要工作內容。面向介面編程我想就是指按照這種思想來編程吧!實際上,在日常工作中,你已經按照介面編程了,只不過如果你沒有這方面的意識,那麼你只是在被動的實現這一思想;表現在頻繁的抱怨別人改的代碼影響了你(介面沒有設計到),表現在某個模塊的改動引起其他模塊的大規模調整(模塊介面沒有很好的設計)等等。 Booch先生那天談到Interaction Designer,它就是指做這類設計的人,只不過層次更高一些。我想目前我們的軟體設計隊伍中,這類人是最缺乏的人才之一。 1.關於介面的理解。 介面從更深層次的理解,應是定義(規范,約束)與實現(名實分離的原則)的分離。 我們在一般實現一個系統的時候,通常是將定義與實現合為一體,不加分離的,我認為最為理解的系統設計規范應是所有的定義與實現分離,盡管這可能對系統中的某些情況有點繁煩。 介面的本身反映了系統設計人員對系統的抽象理解。 介面應有兩類:第一類是對一個體的抽象,它可對應為一個抽象體(abstract class); 第二類是對一個體某一方面的抽象,即形成一個抽象面(interface); 一個體有可能有多個抽象面。 抽象體與抽象面是有區別的。 2.設計介面的另一個不可忽視的因素是介面所處的環境(context,environment),系統論的觀點:環境是系統要素所處的空間與外部影響因素的總和。任何介面都是在一定的環境中產生的。因此環境的定義及環境的變化對介面的影響是不容忽視的,脫離原先的環境,所有的介面將失去原有的意義。 3.按照組件的開發模型(3C),它們三者相輔相成,各司一面,渾然一體,缺一不可。 面向對象是指,我們考慮問題時,以對象為單位,考慮它的屬性及方法 面向過程是指,我們考慮問題時,以一個具體的流程(事務過程)為單位,考慮它的實現 介面設計與非介面設計是針對復用技術而言的,與面向對象(過程)不是一個問題 我認為:UML裡面所說的interface是協議的另一種說法。並不是指com的interface,CORBA的interface,

java面向介面編程思想

A s=new B();
一個對象實例只能賦值給與它類型相同的引用、或者父類(包括介面)的引用。
B是A的實現類所以B的實例可以賦值給A的引用。

實例:確實的對象;引用:指向某一對象的名字。

這個耦合度是指:一個類(或者對象)對另一個類(或者對象)的依賴。
如果用類的繼承,要求所有的具有某一個方法的一類對象都必須是指定類的子類對象,總是存在依賴,應用靈活度非常差!

⑶ 為什麼要面向介面編程

在一個面向對象的系統中,系統的各種功能是由許許多多的不同對象協作完成的。在這種情況下,各個對象內部是如何實現自己的對系統設計人員來講就不那麼重要了;而各個對象之間的協作關系則成為系統設計的關鍵。小到不同類之間的通信,大到各模塊之間的交互,在系統設計之初都是要著重考慮的,這也是系統設計的主要工作內容。面向介面編程就是指按照這種思想來編程。 寫小的應用程序看不到介面的優勢,寫大點的程序馬上就顯示出介面的優勢,越大越明顯.所以還是從現在開始養成面向介面編程的習慣.寫多了程序就會覺得優勢顯而易見.
據不同含量按說明書使用。初次噴霧在團棵期進行,

⑷ JAVA什麼是面向介面編程

不知道怎麼給你說清楚
形象一點,c語言是面向過程編程,就是按程序執行的順序編
而c++和java都是面向對象編程,他們把變數和方法都封裝到類裡面,通過對象執行程序
但是c++中的類是可以繼承的,而JAVA的不能繼承,只能通過實現介面來完成類似於c++繼承的功能,從這個角度看java是面向介面編程

⑸ 什麼是面向介面編程,它的好處是什麼

在一個面向對象的系統中,系統的各種功能是由許許多多的不同對象協作完成的。在這種情況下,各個對象內部是如何實現自己的對系統設計人員來講就 不那麼重要了;而各個對象之間的協作關系則成為系統設計的關鍵。小到不同類之間的通信,大到各模塊之間的交互,在系統設計之初都是要著重考慮的,這也是系 統設計的主要工作內容。面向介面編程就是指按照這種思想來編程
補充:我們在一般實現一個系統的時候,通常是將定義與實現合為一體,不加分離的,我認為最為理想的系統設計規范應是所有的定義與實現分離,盡管這可能對系統中的某些情況有點麻煩。

⑹ 面向介面編程和面向實現編程的區別

這個涉及到設計上的原則,也就是依賴倒轉原則。舉個簡單的例子,我們經常用的操作資料庫的方法,在jdk中定義的都是介面,由不同的資料庫廠商實現,比如mysql的驅動,oracle的驅動,都是實現了jdk中定義介面標准。jdk中的設計就是面向介面的,而不同的資料庫廠商就是面向實現的。
面向介面的好處就是,定義好介面標准,不管是誰只要按定義好的標准來實現,都可以無縫的切換,所以您應該發現,不管是用mysql也好,還是用oracle也都,您都是在使用jdk的api。

⑺ 面向介面編程

面向對象編程的時候,我們會考慮到兩個問題,一個是類的定義,一個是實現對象,類經過實例化就是對象,比如現在有個類叫Student ,那麼用這個類生成個對象,就是這個樣子,Student s=new Student 這個s就是對象了。Student s 就是創建這個對象,=new Student() 就是在內存中真正的生成這個對象。我們在類里定義的一些方法,比如 public void show(){system.out.println('我是菜鳥')},那麼,因為當前的類不是個靜態類,所以這個方法是不能真正的實現的,說白了就是不能用 ,只有生成了這個類的對象才能實現這個方法,如 s.show(); 通過s調用 show 方法。

面向介面編程的意思是指在面向對象的系統中所有的類或者模塊之間的交互是由介面完成的。概念是用來高度概括的,關鍵是理解意思。解釋如下:A s =new B;在內存堆中創建一個B對象,在內存棧中創建一個引用A,A指向B。用A中的s.print()方法去調用B中的同名方法,這當然是正確的,因為B類實現了A介面。所謂的面向介面編程可以降低程序之間的耦合度,是指在具體的調用處都是介面進行的,並不依賴於具體類,在A s = new B;中,B可以被任意實現了介面A的其他類替換掉。在spring的IOC中面向介面編程降低了類之間的耦合度得到了很好的體現,建議你順便去學習一下,可以加深你的理解。

⑻ 何謂面向介面編程其思想實質是什麼

在一個面向對象的系統中,系統的各種功能是由許許多多的不同對象協作完成的。在這種情況下,各個對象內部是如何實現自己的對系統設計人員來講就不那麼重要了;而各個對象之間的協作關系則成為系統設計的關鍵。小到不同類之間的通信,大到各模塊之間的交互,在系統設計之初都是要著重考慮的,這也是系統設計的主要工作內容。面向介面編程就是指按照這種思想來編程

⑼ 關於面向介面編程

跟你講一個實際生活中的例子,你就會明白。
大家都用過音箱,把音頻線接到電腦再接電源,就可以播放美妙的音樂。這是一個常見的例子。
編程中的介面,其實跟電腦與音箱之間那個音頻介面的思想其實差不多。你接上高檔一點的音箱它的音質會好一點,低檔一點的也能聽,A廠商的音箱也可以,B廠商的音箱也沒什麼問題。音箱廠商在設計音箱的時候,他們不會管你使用的是什麼電腦、什麼音效卡,他們只在意音頻介面的信號,而這些信號是格式是公開的。這樣就使得音效卡、音箱的可以獨立設計與開發,大家遵循同樣的介面規范就可以進行合作,而不必要了解對方的技術細節。

軟體的開發同樣會有合作的問題,比如團隊與團隊之間、公司與公司之間,往往是你開發一個模塊,我開發一個模塊,那來源不同的各個模塊是如何協同動作呢?就是公開的介面定義在起作用。

以上簡短的介紹,希望對你有所幫助

⑽ 面向切面編程和面向介面編程的區別

談談自己的理解吧:

面向切面編程:

手段:分離業務的主邏輯和次邏輯的一種思想。

目的:解決的是邏輯分離問題(主邏輯和次邏輯分開,其實主要是分離業務邏輯和非業務邏輯分開)。

案例:我們開發項目的時候基本都要去連接資料庫操作數據等,但是都會涉及到事務的提交,這時我們就用到了面向切面編程,我們在業務層只寫自己的業務邏輯,提交事務這一塊統一的動作我們就濃縮到了一塊兒統一處理,形象一點比喻就是我們做什麼事之前都以一個准備動作或結束動作的時候就把它統一起來,只關注我們要完成的事,這些准備動作統一完成!

類似的面向切面編程案例還有:系統日誌的記錄、請求的攔截等

面向介面編程:

手段:通過介面規約對象的屬性和方法,是面向對象一部分。

目的:統一標准問題,讓大家不至於各行其事而對代碼的可讀性造成影響(公用部分行為)。

案例:其實這個比較好解釋,就是有一件事,需要大家去完成,但是給你規定了完成的方式,你只能怎麼去做,這時我們當中任何一個人都能去完成這件事,只不過因人而異會有效率和風格的差異,但是都是按照事先的規定來的!比如:讓你去給資料庫添加一行數據返回受影響的行數,這里大家都去實現介面寫SQL,中間可能會有差異,但是最後都得返回一個int類型的受影響行數回來

大體意思就是說:介面給我們規定了完成一個任務的標准,但是具體過程不限制,任何人都能通過遵循的規定去完成這件事!這樣擴展性就很強!

個人水平有限,如果不滿意請參考:網頁鏈接

熱點內容
聚合腳本平台 發布:2024-09-20 17:51:55 瀏覽:180
訪問攔截怎麼解除安卓 發布:2024-09-20 17:28:48 瀏覽:275
蘿卜干存儲 發布:2024-09-20 17:21:37 瀏覽:715
蘋果手機如何遷移軟體到安卓手機 發布:2024-09-20 17:21:34 瀏覽:692
查看伺服器ip限制 發布:2024-09-20 16:56:27 瀏覽:389
p搜系統只緩存1頁為什麼 發布:2024-09-20 16:48:51 瀏覽:839
上網的賬號和密碼是什麼東西 發布:2024-09-20 16:31:31 瀏覽:612
安卓手機王者榮耀如何調超高視距 發布:2024-09-20 16:31:30 瀏覽:428
安卓G是什麼app 發布:2024-09-20 16:23:09 瀏覽:81
iphone怎麼壓縮文件 發布:2024-09-20 16:08:18 瀏覽:356