PHP進階技巧全放送_PHP

來源:互聯網
上載者:User
關鍵字 放送 技巧 進階 COM 組件 可以 應用程式 檔案 程式
一:概述

PC機自從誕生以來,硬體經曆了無數變化,CPU從最初的INTEL 8086到
現在PIII滿大街都是也只不過十幾年。微軟的WINDOWS作業系統從最初的
1.0版本到現在即將推出WIN2000,一直是案頭系統上裝機量最大的OS。
作為軟體開發人員,使用著包括Visual Basic,Visual C++,Delphi包
括最新的Borland C++ builder等等在內的眾多開發環境為WINDOWS開發
應用程式。應該說現在的開發條件和若干年以前比已經是大大的進步了。
如果你開發過16位的WINDOWS程式,你可能知道為了讀取一個檔案,我
們不得不使用一小段彙編來調用DOS常式,或者使用當時WINDOWS尚未公開
的函數:_lopen()。在win32環境下,你所要做的全部是調用
: :CreateFile()來獲得一個檔案控制代碼,當然如果使用MFC或是OWL之類的
東西,你可以更簡單的做到。不過一般情況下,程式員仍然不得不從頭
開始寫編寫應用程式的每一行代碼。
但這種情況得到了改變:微軟提出了C O M(Component Object Model,
中文也可以譯作"元件物件模型")概念,並且在最新的WINDOWS95/98以
及WIN NT4中越來越廣泛的使用它:我們有理由相信在不久的將來,C O M
將成為構建應用程式最普遍的方法,如果你對此技術有興趣,不妨參考本
文,希望從中你能學到想知道的知識。如果你已經是C O M老手,也歡迎
你批評指正


本文是針對C++程式員寫的。在介紹概念的時候,我盡量不把WIN32 API
的知識混合進來,以便你能夠更清晰的看到C O M的本質。所有的例子都
用Microsoft Visual C++5(SP3)編譯通過。
一般的講,一個應用程式總是由單個的二進位檔案組成。在以前,如果
這個程式需要做一些改進,就要修改原始碼,然後編譯,聲稱新的檔案,
然後取代原來的檔案。現在,我們用一種全新的角度來看問題:把原先一
整個的EXE可執行檔,分割成功能不同,但相對獨立的幾個部分,把他
們拼裝起來,組成程式,組成軟體。在未來程式發布以後,如果意識到需
要對他進行修改,只要替換有問題的或是需要升級的組建就可以了。甚至
可以做到再不影響程式正常啟動並執行情況下替換其中的組件。如果你熟悉
WINDOWS編程,可能會想到:DLL似乎就是你所說的東西:可以動態下,動
態串連。事實上,COM正是充分利用了Win32 DLL的靈活性才得以真正在
Windows平台上實現的。
這樣做有哪些優點呢?首先:使用者一般希望能夠定製所用的應用程式,
而組件技術從本質上講就是可被定製的,因而使用者可以用更能滿足他們需
要的某個組件來替換原來的那個。其次,由於組件是相對應用程式獨立的
組件,我們可以在不同的程式中使用同一個組件而不會產生任何問題,軟
件的可重用性將大大的得到增強。第三,隨著網路頻寬及其重要性的提高,
分布式網路應用程式毫無疑問的成為軟體市場上越來越重要的買點。組件
價構可以使得開發這類應用程式的過程得以簡化。
那麼,COM到底是什麼呢?它是一個說明如何建立可動態互變組件的規範。
他定義了一些為保證能互操作,客戶(一個術語,指需要某種組件的程式)
組件必須遵循的標準,COM規範就是一套為組件架構設定標準的文檔形
式的規範。COM的發布形式是:以win32動態連結程式庫(DLL)或者可執行檔
(EXE)的形式發布的可執行程式碼群組成。
COM組件是動態串連的,而且COM組件是完全與語言無關的。同時,COM組
件可以以二進位的形式發布。COM組件還可以在不妨礙老客戶的情況下被升
級成新的版本。
你現在可以認為,COM所能提供的服務有些類似C++中的類。不過類是基
於原始碼的,COM則不是。不過這裡要澄清一些關於COM的錯誤觀點:首先,
COM不是一種電腦語言。把COM同某種電腦語言(如C++, VB)相比較是
沒有意義的。其次,也不要把DLL和COM做比較,因為COM技術正是利用了
DLL的動態連結能力才得以實現的,而現在一般觀點則認為,利用DLL動態
連結能力最佳的方法是COM。
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.