導航:首頁 > 編程語言 > 理解面向介面編程

理解面向介面編程

發布時間:2022-01-12 12:34:02

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

談談自己的理解吧:

面向切面編程:

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

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

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

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

面向介面編程:

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

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

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

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

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

㈡ 什麼是面向介面編程

在一個面向對象的系統中,系統的各種功能是由許許多多的不同對象協作完成的。在這種情況下,各個對象內部是如何實現自己的對系統設計人員來講就不那麼重要了;而各個對象之間的協作關系則成為系統設計的關鍵。小到不同類之間的通信,大到各模塊之間的交互,在系統設計之初都是要著重考慮的,這也是系統設計的主要工作內容。面向介面編程我想就是指按照這種思想來編程吧!實際上,在日常工作中,你已經按照介面編程了,只不過如果你沒有這方面的意識,那麼你只是在被動的實現這一思想;表現在頻繁的抱怨別人改的代碼影響了你(介面沒有設計到),表現在某個模塊的改動引起其他模塊的大規模調整(模塊介面沒有很好的設計)等等。 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的引用。

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

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

㈥ 有誰幫我闡述一下:面向介面編程的思想,及其優點

首先你要知道軟體工程的概念是什麼!簡單的說軟體工程就是讓程序模塊化,把特定的代碼邏輯獨立封裝,只傳入參數和返回參數,外部集中調用。這也就是C、c++、java、c#中的方法、函數、類庫頭文件等體現。

而介面也是基於這個目的產生的。首先說說為什麼要用到介面,我是學java的,所以以java舉例,前面說了把代碼邏輯獨立的封裝確實能增加代碼的重用性,具有更好的性能。

但是同樣的問題也產生了,如果系統結構很復雜,多個開發人員就不能做到有效的協作了。就像用零件拼裝一輛汽車一樣,很多工人一起工作,他們怎麼知道哪2個零件之間結合在一起,怎麼耦合。這和軟體工程很類似,多個開發人員一起開發不同的模塊,他們同樣也會遇到程序結構耦合的問題,這都是在開發時很令人頭疼的問題。

介面就是為解決這個問題誕生的,他把方法和類封裝的更徹底,只顯示入口參數和返回參數,而具體的實現類,和方法實現都可以完全隱藏起來,這樣做就可以制定一個統一的標准,即使因為開發人員人多腦雜,模塊間的代碼風格和思路不同,也完全不影響整個系統的架構,這樣使得系統的復雜性得到有效控制,降低開發的難度和成本。舉個生動的例子就是電腦主板的生產商他無法知道他生產的主板上將要用的CPU是什麼型號的,用的內存是什麼規格的。但是只要制定統一的行業標准,他就可以預留指定的介面,無論你CPU是基於什麼工作原理,也無論你內存多大,只要符合此介面的標准,各個原件就能有效協作組成一台電腦。

㈦ 面向介面編程

面向對象編程的時候,我們會考慮到兩個問題,一個是類的定義,一個是實現對象,類經過實例化就是對象,比如現在有個類叫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中面向介面編程降低了類之間的耦合度得到了很好的體現,建議你順便去學習一下,可以加深你的理解。

㈧ 面向介面編程怎麼理解,不要粘貼復制的,要自己的理解說出來

看你是從編程思想還是編程技術看。編程思想面向介面就是至下而上,先規劃好要做的事,然後定義完成事情必須的介面,之後實現此介面。編程技術就是樓上說的了。還有就是一些框架支持注入類的,配置期或者運行的時候再動態注入實現介面的類,達到不換內核實現功能更新。

㈨ Java語言:什麼叫面向介面編程

面向介面編程不是一兩句話可以完全說清楚,如果是面試,你就回答,面向介面編程實現了實現類和調用類的分離,即解耦。

㈩ JAVA什麼是面向介面編程

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

閱讀全文

與理解面向介面編程相關的資料

熱點內容
精品php源碼 瀏覽:960
自己編寫雲伺服器搶紅包 瀏覽:203
java解壓縮文件加密 瀏覽:887
dlink列印伺服器默認地址 瀏覽:353
php休眠函數 瀏覽:372
金蝶如何打開伺服器 瀏覽:766
e4a手游輔助源碼 瀏覽:777
什麼app可以實時直播 瀏覽:106
蘋果13的app閃退什麼原因 瀏覽:775
尾盤選股源碼公式 瀏覽:450
php日期運算 瀏覽:931
天龍八部長歌伺服器什麼時候開的 瀏覽:199
鬼泣4模型在那個文件夾 瀏覽:229
單片機的串列口 瀏覽:58
phpjson轉化為數組 瀏覽:268
pdf導入excel 瀏覽:428
蘋果xsmax信任app在哪裡設置 瀏覽:53
自動外鏈php源碼 瀏覽:245
我的世界新手獎勵箱命令 瀏覽:146
linux更新vim 瀏覽:998