程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第十講 文檔對象模型(4)

C#發現之旅第十講 文檔對象模型(4)

編輯:關於C語言

DOM概念內涵

經過XMLDOM的研究,我們可以歸納出DOM的一些基本的編程特性:

所有的文檔對象類 型都是從一個基礎類型派生的,文檔對象類型都在基礎類型上實現了各種特性。

每個 文檔對象都映射了文檔中某個片斷,修改文檔對象就等價於修改文檔片斷本身。

文檔 對象可以有子節點,由此構成一個多層次對象樹狀結構。

存在一個頂級對象,用來表 示整個文檔。可以宏觀控制整個文檔,也是應用程序訪問文檔對象樹狀結構的唯一入口。

文檔對象模型是可編程的,應用程序通過訪問文檔對象模型來訪問結構化文檔。

大部分類型的DOM可以將整個文檔結構保存到一個文件中,也可以從一個文件中再現 整個文檔結構。這算對象序列化。但也可能有例外。

我們可以發現,其他的DOM都基 本上實現了上述編程特性,比如名稱空間System.CodeDom支持下的CodeDom,Html DOM。

DOM概念外延

XMLDOM是嚴謹的DOM的編程特性,但我們在實際開發應用中,可 以根據各種需要進行簡化,開發各種不夠嚴謹的DOM。 比如在微軟.NET標准庫中,存在著許 多不嚴謹的DOM結構。比如名稱空間System.IO下的FileSystemInfo ,FileInfo, DirectoryInfo組成了文件系統DOM;名稱空間System.Reflection下的類型組成了以Assembly 為根節點的程序集DOM;名稱空間System.Windows.Forms下的類型組成了以Form為文檔對象, 以Control為基礎類型的WinFormDOM;名稱空間System.Web.UI及其子名稱空間下的類型組成 了以Page為文檔對象,以Control為基礎類型的ASP.Net頁面DOM。可以說,一般的對象樹狀結 構都可以看作不嚴謹的DOM結構。

我們學習了XMLDOM後,就可以模仿著設計自己的DOM ,在開源網站 http://sourceforge.Net 上,使用關鍵字 DOM 進行查找,會找出很多開源項 目,這些開源項目大多都和各種各樣的DOM有關系。

文檔就是數據,DOM處理文檔,實 際上就是處理數據,因此更進一步,我們開發開發各種應用系統中,都可以借鑒一下DOM的設 計思想,比如開發WinForm或ASP.Net中,這些用戶界面控件時也可以看作DOM。做電子病歷時 ,可以設計出電子病歷文檔對象模型,做客戶關系管理系統時,可以設計出客戶文檔對象模 型。總之做XX系統時,可以考慮設計出XX文檔對象模型。

小結

文檔對象模型 是一種比較復雜的軟件設計技術,但它功能強大,層次分明,邏輯清晰,好的文檔對象模型 合情合理,符合人們想當然的思想,是業務邏輯數據的高度抽象。大家應當好好學習,多多 研究學習學習,這對提高軟件設計能力,樹立自己的面向對象的編程思想都大有好處。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved