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

面向介面編程的理解

發布時間: 2024-10-28 18:18:56

⑴ 什麼是面向介面編程

什麼是介面?
-- 在表面上是由幾個沒有主體代碼的方法定義組成的集合體,有唯一的名稱,可以被類或其他介面所實現(或者也可以說繼承), 由關鍵詞 interface 修飾。

什麼是面向介面編程?
-- 在系統分析或架構設計中,每個層級的程序並不是直接提供程序服務,而是定義一組介面,通過實現介面來提供功能。面向介面編程實際是面向對象編程的一部分。

面向介面編程的優點?
1、介面的定義和實現分開(分開有什麼好處呢?)
首先,項目一般是由團隊共同開發來完成的,在其中,介面的定義一般是由架構師來設定,然後又編程人員來實現完成,架構師根據架構、設計規則來設定介面,把握項目的整體視圖和編寫規范,編程人員實現具體業務邏輯,分工明確,程序清晰。
其次,從實現上看,介面的定義時間很短,但介面的實現周期相對較長,若一個編程人員需要調用其他人員編寫的某個方法時,可以採用多態的方式獲取介面對象,來調用方法,這樣保證團隊共同完成開發。

2、介面可以有多個實現類,便於以後的業務擴展
什麼意思呢?
-- 比如實現類的業務需要擴展功能,此時可以採用重新實現介面的方式,這樣降低了程序的冗餘 和 一個類寫太多行代碼的尷尬。
另外,介面的多實現易於通過配置文件的方式配置介面的實現類(這個是指在spring中管理對象的時候)。

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

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

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

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

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

⑶ 什麼是面向介面編程

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

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

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

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

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

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

⑸ 什麼是面向介面編程及一個簡單實例

面向介面編程是一個很高級的概念了以前的面向對象編程,以java為例子,主要的操作針對對象來進行,把要處理的問題簡化分解成對象的方式來解決,對對象的使用主要是引用對象提供的方法後來的使用過程中,逐漸有人發現,當程序的內容不斷擴大,程序的編寫和完善需要更多的人員來合作完成的時候,面向對象的方式有些不便就很突出了,主要的就是類的繼承和方法的重寫,查詢起來和引用起來很多不便。所以現在有面向介面編程的理念提出來,介面就是標准,介面就是規范,但是介面沒有實現的方法,這樣避免了很多類的繼承的問題,特別在大型的程序的編寫方面有廣泛的應用。什麼是面向介面編程及一個簡單實例

熱點內容
內網搭建dns伺服器 發布:2024-10-28 20:13:42 瀏覽:118
頭條上傳視頻失敗 發布:2024-10-28 20:12:49 瀏覽:65
java多文件 發布:2024-10-28 20:11:53 瀏覽:804
oppo手機怎樣取消應用加密 發布:2024-10-28 19:59:08 瀏覽:2
pythonstring方法 發布:2024-10-28 19:59:06 瀏覽:939
安卓和蘋果哪個玩游戲快 發布:2024-10-28 19:37:02 瀏覽:73
c語言定義函數數組 發布:2024-10-28 19:09:49 瀏覽:600
演算法的藝術 發布:2024-10-28 19:08:58 瀏覽:834
安卓手機為什麼不能用蘋果有線耳機 發布:2024-10-28 18:36:06 瀏覽:208
mvc腳本 發布:2024-10-28 18:29:33 瀏覽:650