對象模型 KOffice不是一些相互獨立的office應用的簡單的集合。正相反,它是由許多相互獨立的組件(components)重新組合成一些可以相互通信相互協作的塊。就象微軟的DCOM 和OLE, 應用軟件的服務和功能不僅可以提供給用戶,而且可以提供給其他應用程序。KOFfic以非常直接和透明的方式提供這種能力,它允許任何合乎要求的應用程序嵌入其他的程序內。例如用戶可以把KSpread的表格嵌入到KPresenter中,如果用戶在Ksresenter中點擊KSpread表格。KPresenter窗口中的菜單和工具條就被替換為KSpread的菜單和工具酢U庋淙換峄胺⑸贙Presenter內,但是用戶卻可以象在KSpread內部一樣編輯KSpread表格。如果用戶點擊窗口內表格以外的部分,Ksprenter的菜單和工具條就被替換回來。 除此而外,KOffice "shells"��嵌入了組件的部分��各部分之間可以通信。引用一個很典型的例子,Kdiagram可以顯示KSpread中以圖表格式存儲的數據。如果用戶選擇了一些KSpread中的單元格,並選擇建立圖表的選項。嵌入在Kdiagram中的KSpread組件就把單元中的數據形象的顯示出來了。這個過程中只有數據發生了傳遞。如果被選中的單元內的數據發生了變化,嵌入的圖表可以自動更新!這個特性使得KOffice的符合文檔更加高效、簡單和直接。KOffice做到這一點的關鍵是各種應用程序可以組合並保存在一個文檔中。下面的具體對於每一個KOffice的應用描述將更具體的說明各個部分之間是如何嵌入的。 Linux的KOM/OpenParts對象模型使得應用程序的有可能很容易的成為其他其他應用程序的資源,被其他應用程序分享。KOM/OpenParts是建立在MICO基礎上的,MICO是CORBA2.2的全功能免費版本。CORBA是一個分布式對象之間相互通信的工業標准。隨著可用組件數量的增長,每一個應用程序都在專業組件群中啟動,而這個組件群中的每一項服務都是由專家提供的。 KOM/OpenParts的工作特性如下: 減少開發時間,因為程序堅固的組件是可以即插即用的,只需要開發特定的組件,而且這些組件不需要重新編譯就可以與其他的組件自動的組合在一起。 降低開發難度,我們沒有必要再次發明輪子。 讓程序更強大。 增加程序的靈活性,因為程序的能力取決於主系統所采用的合法組件。 簡化建立和管理符合文件和類似的對象。 因為KOM/OpenParts是獨立於GUI的,因此我們希望它可以成為UNIX下和Linux下不同應用程序之間互操作的一個標准。 更多的信息請參考本文的後半部分或者http://www.mieterra.com/article/KOffice.Html#1 。