試論軟件開發中接口的統一,軟件的接口比硬件的接口要複雜得多。

       軟件開發,不僅僅是開發語言的多種多樣,其中各種接口和方法函數亦是讓人摸不着頭腦。一個軟件開發初學者很容易就此陷入迷途,難以自拔。單就開發語言來說,就有JAVA,C++,C#,Perl,JavaScript,Visual Basic,VS.NET,R語言等等。各種語言的內部複雜性和每種語言的數據類型,數據結構亦不盡相同,各有各的法則和編程規矩。在這裏,我只講一下,軟件程序中的接口問題,以求拋磚引玉。
       軟件程序的接口,相比計算機硬件設備的接口,要複雜得多,我覺得這主要歸因於,軟件是人類大腦的延伸和模擬,而硬件,只不過是人類身體的模擬和簡單的仿照。硬件對於人類知識和人類智慧的相似度上,遠遠比不上軟件要來得複雜。而計算機硬件的接口在發展的成熟度方面,已經是做得很好的了,最常見的例子就是USB接口,統一的USB接口讓任何一種配備此種接口的外圍設備都可以很輕易的連接上電腦並操作。雖然USB2.0和USB3.0的接口顏色不同,但也是大同小異。手機可以說是一種更加智能,更加小巧的計算機,其充電的接口在早期雖然說千差萬別,但是隨着時間的推移,也逐漸向統一的電源充電接口邁進。難度小的接口要統一起來是很容易的,但是對於軟件來說呢?問題就沒這麼簡單了。
       我以JAVA語言的接口來說一下軟件開發的接口的統一問題。說起接口,軟件接口,就不能不說類庫了。JAVA有龐大的類庫,同樣,作爲和JAVA同等重要的編程語言,C++也有龐大的類庫,但是,對這兩種語言,沒有任何一個程序員(哪怕是最頂尖的專業程序員)能說他熟悉JAVA或者C++中的所有的類,即類庫中的所有的類。任意兩個JAVA類要進行通信和調用的時候,怎麼辦呢?那就要用到類的接口了。一個JAVA類,哪怕是最簡單的JAVA類,也是有多個接口即調用方法的。所有的JAVA的類加起來有幾百上千之多,那麼,接口的數量也就呈指數形式遞增。這樣的接口的數量級,任憑哪個程序員用起來都是吃不消的。要消除接口的數量,按照一種已經廣爲人知的方法,就是代碼重用和(學術一些的說法)設計模式了。把一個個JAVA組件象機器生產中的零件一樣,保存起來,以備開發時使用,接口也儘量統一,那麼,大型系統的開發會省事許多。
       說了這麼多,估計在軟件開發中這樣做的程序員也不多,要是JAVA組件沒有設計好,不好用,那麼又需要重新開發和設計這個組件,這又是後話了。我這篇文章說的是軟件開發接口的統一,只是初探,希望能拋磚引玉。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章