面向介面編程好處
❶ 為什麼要面向介面編程
在一個面向對象的系統中,系統的各種功能是由許許多多的不同對象協作完成的。在這種情況下,各個對象內部是如何實現自己的對系統設計人員來講就不那麼重要了;而各個對象之間的協作關系則成為系統設計的關鍵。小到不同類之間的通信,大到各模塊之間的交互,在系統設計之初都是要著重考慮的,這也是系統設計的主要工作內容。面向介面編程就是指按照這種思想來編程。 寫小的應用程序看不到介面的優勢,寫大點的程序馬上就顯示出介面的優勢,越大越明顯.所以還是從現在開始養成面向介面編程的習慣.寫多了程序就會覺得優勢顯而易見.
據不同含量按說明書使用。初次噴霧在團棵期進行,
❷ java面向介面編程有什麼特殊的用處
好處很多,說一個,比如兩個系統通訊,今天A系統想查B系統的C信息,你寫一個完全獨立功能,明天A又想查B的D信息你又得寫一個功能。如果定義一個介面,介面功能就是系統通訊,把一些共用的邏輯寫在介面里,你查C查D可以實現這個介面,一些什麼系統之間通訊之類的代碼就不用重復寫了他在介面里就完成了,C和D可以只關注自己個性化的邏輯
❸ 面向介面編程的好處
1.更加抽象,更加面向對象
2.提高編程的靈活性
3.提高可維護性
❹ 面向介面編程到底有什麼好處
1.最簡單的方法:
publicstaticStringreverse1(Stringstr)
{
returnnewStringBuffer(str).reverse().toString();
}
2.最常用的方法:
publicstaticStringreverse3(Strings)
{
char[]array=s.toCharArray();
Stringreverse="";//注意這是空,不是null
for(inti=array.length-1;i>=0;i--)
reverse+=array[i];
returnreverse;
}
3.常用方法的變形:
publicstaticStringreverse2(Strings)
{
intlength=s.length();
Stringreverse="";//注意這是空,不是null
for(inti=0;i<length;i++)
reverse=s.charAt(i)+reverse;//在前面連接,而非常見的後面
returnreverse;
}
4.C語言中常用的方法:
publicstaticStringreverse5(Stringorig)
{
char[]s=orig.toCharArray();
intn=s.length-1;
inthalfLength=n/2;
for(inti=0;i<=halfLength;i++){
chartemp=s[i];
s[i]=s[n-i];
s[n-i]=temp;
}
returnnewString(s);//知道char數組和String相互轉化
}
❺ java 面向介面編程,好處在哪
好處:
介面和實現分離了,適於團隊的協作開發。
更具體的優點:可以參看IDP原則。J2EE中的API規范基本上都是介面,由各應用伺服器來實現,比如:WebSphere按照這個介面實現自己的,WebLogic也按照這個介面實現自己的,作為開發者來說我們根本就不用去管誰是怎樣實現的,只要按照J2EE的API
來寫就可以了,根本用不著導入它們的實現包,實際上具體的是由它們自身完成了。
介面說白了,也就是定死了一個框,具體的是糊紅紙還是糊黑紙我們都用不著去管的,我們只要知道它是個框,提供
了哪些方法就夠了。舉個簡單的JDBC的例子吧,比如有個BaseDao介面,現在有MysqlDao實現了一個(我們可以把具體的實現類配在配置
文件中,再通過反射進行實例化),也就類似這樣的:
BaseDao=(BaseDao)(Class.forName(Config.getDaoName()).newInstance());
.其中Config.getDaoName()可以獲得配置文件中的配置,比如是:com.bao..impl.MySQLDao。
要改用Oracle了,這樣我們只要按BaseDao的定義,再實現一個OracleDao就可以了,
再將配置文件中的配置改為:com.bao..impl.OralceDao就可以了,而在已經寫好的代碼中,我們可以一行不
改的進行了資料庫移植,這個就是面向對象設計原則中的「開-閉原則」(對增加是開放的,對修改是封閉的)但這只是理論上的,現實中很難做到的。
❻ 什麼是面向介面編程
什麼是介面?
-- 在表面上是由幾個沒有主體代碼的方法定義組成的集合體,有唯一的名稱,可以被類或其他介面所實現(或者也可以說繼承), 由關鍵詞 interface 修飾。
什麼是面向介面編程?
-- 在系統分析或架構設計中,每個層級的程序並不是直接提供程序服務,而是定義一組介面,通過實現介面來提供功能。面向介面編程實際是面向對象編程的一部分。
面向介面編程的優點?
1、介面的定義和實現分開(分開有什麼好處呢?)
首先,項目一般是由團隊共同開發來完成的,在其中,介面的定義一般是由架構師來設定,然後又編程人員來實現完成,架構師根據架構、設計規則來設定介面,把握項目的整體視圖和編寫規范,編程人員實現具體業務邏輯,分工明確,程序清晰。
其次,從實現上看,介面的定義時間很短,但介面的實現周期相對較長,若一個編程人員需要調用其他人員編寫的某個方法時,可以採用多態的方式獲取介面對象,來調用方法,這樣保證團隊共同完成開發。
2、介面可以有多個實現類,便於以後的業務擴展
什麼意思呢?
-- 比如實現類的業務需要擴展功能,此時可以採用重新實現介面的方式,這樣降低了程序的冗餘 和 一個類寫太多行代碼的尷尬。
另外,介面的多實現易於通過配置文件的方式配置介面的實現類(這個是指在spring中管理對象的時候)。
❼ 有誰幫我闡述一下:面向介面編程的思想,及其優點
首先你要知道軟體工程的概念是什麼!簡單的說軟體工程就是讓程序模塊化,把特定的代碼邏輯獨立封裝,只傳入參數和返回參數,外部集中調用。這也就是C、c++、java、c#中的方法、函數、類庫頭文件等體現。
而介面也是基於這個目的產生的。首先說說為什麼要用到介面,我是學java的,所以以java舉例,前面說了把代碼邏輯獨立的封裝確實能增加代碼的重用性,具有更好的性能。
但是同樣的問題也產生了,如果系統結構很復雜,多個開發人員就不能做到有效的協作了。就像用零件拼裝一輛汽車一樣,很多工人一起工作,他們怎麼知道哪2個零件之間結合在一起,怎麼耦合。這和軟體工程很類似,多個開發人員一起開發不同的模塊,他們同樣也會遇到程序結構耦合的問題,這都是在開發時很令人頭疼的問題。
介面就是為解決這個問題誕生的,他把方法和類封裝的更徹底,只顯示入口參數和返回參數,而具體的實現類,和方法實現都可以完全隱藏起來,這樣做就可以制定一個統一的標准,即使因為開發人員人多腦雜,模塊間的代碼風格和思路不同,也完全不影響整個系統的架構,這樣使得系統的復雜性得到有效控制,降低開發的難度和成本。舉個生動的例子就是電腦主板的生產商他無法知道他生產的主板上將要用的CPU是什麼型號的,用的內存是什麼規格的。但是只要制定統一的行業標准,他就可以預留指定的介面,無論你CPU是基於什麼工作原理,也無論你內存多大,只要符合此介面的標准,各個原件就能有效協作組成一台電腦。
❽ 面向介面編程和面向實現編程的區別
這個涉及到設計上的原則,也就是依賴倒轉原則。舉個簡單的例子,我們經常用的操作資料庫的方法,在jdk中定義的都是介面,由不同的資料庫廠商實現,比如mysql的驅動,oracle的驅動,都是實現了jdk中定義介面標准。jdk中的設計就是面向介面的,而不同的資料庫廠商就是面向實現的。
面向介面的好處就是,定義好介面標准,不管是誰只要按定義好的標准來實現,都可以無縫的切換,所以您應該發現,不管是用mysql也好,還是用oracle也都,您都是在使用jdk的api。
❾ 面向介面編程到底有什麼好處
在一個面向對象的系統中,系統的各種功能是由許許多多的不同對象協作完成的。在這種情況下,各個對象內部是如何實現自己的對系統設計人員來講就不那麼重要了;而各個對象之間的協作關系則成為系統設計的關鍵。小到不同類之間的通信,大到各模塊之間的交互,在系統設計之初都是要著重考慮的,這也是系統設計的主要工作內容。面向介面編程就是指按照這種思想來編程。 寫小的應用程序看不到介面的優勢,寫大點的程序馬上就顯示出介面的優勢,越大越明顯.所以還是從現在開始養成面向介面編程的習慣.寫多了程序就會覺得優勢顯而易見.