當前位置:編程學習大全網 - 編程語言 - Java語言深入:究竟什麽叫面向接口編程

Java語言深入:究竟什麽叫面向接口編程

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

  • 上一篇:保時捷Panamera的配置
  • 下一篇:電子商務網頁設計與制作單選題高手幫我做壹下
  • copyright 2024編程學習大全網