freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

框架程序設(shè)計(jì)(中)ppt(編輯修改稿)

2024-11-12 00:14 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 個(gè) InfoSet都有一個(gè)文檔信息項(xiàng)做為樹(shù)狀結(jié)構(gòu)的根,其下所有信息項(xiàng)都衍生自這個(gè)獨(dú)一無(wú)二的根。大多數(shù) InfoSet的根元素之下都有一些子元素信息項(xiàng)。 XML技術(shù)簡(jiǎn)介 簡(jiǎn)單的 XML文檔。 employees employee nameBob/name age34/age /employee employee nameSusy/name /employee /employees XML技術(shù)簡(jiǎn)介 XML文檔的 InfoSet Document Element employees Element employee Element employee Element name Element age 36 Bob Element name Casey XML技術(shù)簡(jiǎn)介 ? XML文檔和它們暗含的 InfoSet,可以為文檔數(shù)據(jù)操縱工具提供一個(gè)基礎(chǔ)。其中最重要的是 XPath,它提供一個(gè)用以識(shí)別 InfoSet子集的機(jī)制。使用XPath的方式之一,是把它當(dāng)作一種用于 XML文檔信息查詢的語(yǔ)言。就像 SQL提供一種標(biāo)準(zhǔn)語(yǔ)言用于查詢關(guān)系型數(shù)據(jù)庫(kù)中的信息一樣, XPath提供了一種語(yǔ)言,用于查詢以層次結(jié)構(gòu)表示的信息。 XML技術(shù)簡(jiǎn)介 使用 XPath表達(dá)式,用戶便可識(shí)別樹(shù)中特定節(jié)點(diǎn)。例如,對(duì)簡(jiǎn)單 XML文檔發(fā)出如下查詢語(yǔ)句: /employees/employee/name ? 這個(gè)簡(jiǎn)單的 XPath請(qǐng)求,首先標(biāo)識(shí)出根元素employees下的每一個(gè) employee元素,然后標(biāo)識(shí)出這些 employee元素中的每一個(gè) name元素的值。更加復(fù)雜的查詢也可以實(shí)現(xiàn),包括使用比較操作符、計(jì)算總數(shù)、通配符等。有了 XPath,開(kāi)發(fā)人員無(wú)需自己寫代碼來(lái)遍歷信息,這種抽象語(yǔ)言可以輕易查詢表述于內(nèi)存的 XML文檔的信息。 XML技術(shù)簡(jiǎn)介 ? 這個(gè)簡(jiǎn)單的 XPath請(qǐng)求,首先標(biāo)識(shí)出根元素employees下的每一個(gè) employee元素,然后標(biāo)識(shí)出這些 employee元素中的每一個(gè) name元素的值。更加復(fù)雜的查詢也可以實(shí)現(xiàn),包括使用比較操作符、計(jì)算總數(shù)、通配符等。有了 XPath,開(kāi)發(fā)人員無(wú)需自己寫代碼來(lái)遍歷信息,這種抽象語(yǔ)言可以輕易查詢表述于內(nèi)存的 XML文檔的信息。 XML技術(shù)簡(jiǎn)介 ? 基于 XML InfoSet 提供的抽象技術(shù)之上的另一種技術(shù)是可擴(kuò)展樣式表語(yǔ)言轉(zhuǎn)換( Extensible Stylesheet Language Transformations, XSLT)。XSLT是一種用于指定 XML文檔轉(zhuǎn)換的機(jī)制,這個(gè)轉(zhuǎn)換可用 XSLT樣式表來(lái)描述。例如,開(kāi)發(fā)人員可以定義一套 XSLT規(guī)則,將一個(gè) XML文檔從一種模式轉(zhuǎn)換為另一種。 XSLT依賴用 XML文檔 InfoSet表示的抽象形式,有些功能則依賴 XPath。 XML技術(shù)簡(jiǎn)介 ? 下圖總結(jié)了各種 XML基礎(chǔ)技術(shù)之間的關(guān)系。 XML Schema( XML架構(gòu))用來(lái)描述 XML文檔的結(jié)構(gòu)和內(nèi)容,它定義出一組類型,而 XML文檔自身可被認(rèn)為是某種架構(gòu)定義的文檔類型的一個(gè)實(shí)例。這個(gè) XML文檔是 InfoSet的基礎(chǔ), InfoSet提供這個(gè)文檔數(shù)據(jù)的抽象視圖。如我們可以這種方式訪問(wèn)諸如文件系統(tǒng)或 Windows 注冊(cè)表等層次結(jié)構(gòu)的數(shù)據(jù)。 XML技術(shù)簡(jiǎn)介 XML技術(shù)簡(jiǎn)介 ? XML標(biāo)準(zhǔn)并未以任何特定途徑強(qiáng)制處理 XML文檔中的信息,目前已有兩種風(fēng)格的 API被廣泛使用。其中之一是:將 XML文檔中的信息按順序讀出,以深度優(yōu)先搜索方式遍歷文檔樹(shù)。支持這種訪問(wèn)方式的 API稱為流式 API。 ? 第二種途徑是:整個(gè)文檔被表示為一個(gè)內(nèi)存數(shù)據(jù)結(jié)構(gòu),允許應(yīng)用程序遍歷,并且視需要向后或向前移動(dòng)。支持這種訪問(wèn)方式的 API稱為導(dǎo)航 API。這方面最常使用的 API是 W3C定義的“文檔對(duì)象模型( Document Object Model, DOM)”的一個(gè)實(shí)現(xiàn)。 ? XML的支持,同時(shí)支持流式 API和導(dǎo)航 API,提供執(zhí)行 XPath查詢和 XSLT轉(zhuǎn)換的功能。雖然討論 名空間可以完成的任務(wù)不是本節(jié)所討論的重點(diǎn)內(nèi)容,但在這里仍簡(jiǎn)要介紹一下。 ? XML文件的操作,支持兩種不同的分析模式: XML讀寫器和 XMLDOM分析器 ,如下圖 1) XML讀寫器 讀寫器的工作方式類似于數(shù)據(jù)庫(kù)的游標(biāo)。 XmlReader、XmlWriter兩個(gè)抽象類是所有 .NET Framework中 XML類的基礎(chǔ)類,包括 XMLDOM類、 。所以在 .NET Framework中有兩種可選的方法去處理 XML數(shù)據(jù)。用 XmlReader和 XmlWriter類直接處理 XML數(shù)據(jù),或者用 XMLDOM模式處理。 XMLReader:提供對(duì) XML 數(shù)據(jù)進(jìn)行快速、非緩存、只進(jìn)訪問(wèn)的讀取器。是一個(gè)抽象基類,有兩個(gè)子類繼承并擴(kuò)展了它。 XMLTextReader:繼承自 XMLReader,提供對(duì) XML 數(shù)據(jù)流的只進(jìn)只讀訪問(wèn)。 XMLNodeReader:繼承自 XMLReader,為給定的 XML 文檔對(duì)象模型 (DOM) 節(jié)點(diǎn)子樹(shù)提供讀取器。 XMLWriter:一個(gè)編寫器抽象基類,該編寫器提供一種快速、非緩存和只進(jìn)的方式來(lái)生成包含 XML數(shù)據(jù)的流或文件。 2) DOM分析器 XmlDocument類,提供了一個(gè) DOM API實(shí)現(xiàn)。盡管使用 XmlReader是訪問(wèn) XML文檔信息的最快速方式,但 XmlDocument類卻更常被使用,因?yàn)樗试S在一個(gè)文檔中進(jìn)行導(dǎo)航,可以隨心所欲地向后或向前移動(dòng)。開(kāi)發(fā)人員應(yīng)該選擇最合乎需求的一種訪問(wèn)方式。 XMLNode: XML文檔中的單個(gè)節(jié)點(diǎn),是 DOM實(shí)現(xiàn)中的基類。 XMLAttribute:繼承自 XMLNode,表示 XML文檔中節(jié)點(diǎn)的屬性。 XMLDocument:繼承自 XMLNode,表示 XML文檔。 XMLLinkedNode :獲取緊靠該節(jié)點(diǎn)(之前或之后)的節(jié)點(diǎn)。 ? XML已經(jīng)成為現(xiàn)代計(jì)算不可或缺的一種技術(shù)。它提供一種標(biāo)準(zhǔn)方式來(lái)描述信息,填補(bǔ)了我們所處的這個(gè)復(fù)雜世界因?yàn)槎嗉覐S商群英并起而造成的縫隙。 .NET Framework 中那些為 XML而開(kāi)發(fā)的巨大命名空間和類型,目的是為了讓這種日益重要的技術(shù)變得更容易使用。 事務(wù): ? 事務(wù)是用于訪問(wèn)和修改各種數(shù)據(jù)項(xiàng)的一個(gè)程序單位;被訪問(wèn)的數(shù)據(jù)可以分散在多個(gè)文件中,事務(wù)也可以被看做是一系列的讀和寫操作。當(dāng)這些操作全部完成時(shí)可以托付操作來(lái)終止事務(wù)。只要有一個(gè)讀或?qū)懖僮魇?,則執(zhí)行夭折操作。這個(gè)概念本身很簡(jiǎn)單:所有操作要么全部成功,要么全部失敗。然而,由于軟件可能會(huì)遭受無(wú)數(shù)的物理打擊,要確保一組操作只能夠得出這兩種結(jié)果,根本沒(méi)那么簡(jiǎn)單。因此, .NET Framework 提供了使創(chuàng)建事務(wù)性應(yīng)用程序更為容易的服務(wù)。 事務(wù): ? 事務(wù)最常與 DBMS一起使用。可以使用 明確地啟動(dòng)一個(gè) DBMS事務(wù),在該事務(wù)中執(zhí)行操作(如更新 DBMS中的記錄),然后顯式提交或中止事務(wù)。用事務(wù)的標(biāo)準(zhǔn)術(shù)語(yǔ)來(lái)說(shuō), DBMS和其他任何能夠正確執(zhí)行事務(wù)性請(qǐng)求的操作都被稱為資源管理器( Resource Manager, RM)。當(dāng)事務(wù)的操作全部都是從一個(gè)應(yīng)用程序發(fā)出請(qǐng)求,并且由單一的 RM執(zhí)行時(shí),這種簡(jiǎn)單的方式可以良好的運(yùn)作。 事務(wù): ? 當(dāng)單一事務(wù)中的操作由多個(gè)實(shí)體(如同一個(gè)應(yīng)用程序中的兩個(gè)或多個(gè)對(duì)象)發(fā)出請(qǐng)求或由多個(gè) RM執(zhí)行時(shí),開(kāi)發(fā)人員在處理軟件時(shí)面臨的問(wèn)題就很多了。雖然這些情況并不多見(jiàn),但是它們很重要。 .NET Framework 通過(guò)企業(yè)服務(wù)( Enterprise Services)技術(shù)對(duì)這種復(fù)雜風(fēng)格的事務(wù)性應(yīng)用程序提供支持,該技術(shù)允許將一個(gè)或多個(gè)對(duì)象所發(fā)出的操作聚合進(jìn)單一事務(wù),同時(shí)還允許由多個(gè) RM來(lái)執(zhí)行單一事務(wù)中的操作。然而,企業(yè)服務(wù)不僅僅支持事務(wù),它提供的服務(wù)還可以管理對(duì)象的生命周期等,有時(shí)不可避免會(huì)將這些服務(wù)和事務(wù)混合在一起。 事務(wù): ? .NET Framework 理事務(wù)的方式。不同于企業(yè)服務(wù)將事務(wù)控制與對(duì)象生命周期管理以及其他捆綁在一起。需要強(qiáng)調(diào)的是, 壞現(xiàn)有的一切,企業(yè)服務(wù)仍如從前一樣工作。然而,由于不再與其他不相關(guān)的概念綁在一起,所以。 互操作: ? .NET Framework 目前已成為許多公司開(kāi)發(fā)應(yīng)用軟件的平臺(tái)和基礎(chǔ)。但是很多公司在之前的項(xiàng)目應(yīng)用中,開(kāi)發(fā)了很多 COM、 DCOM組件,現(xiàn)在采用 .NET 開(kāi)發(fā)組件,就使這些組件成為了遺留代碼。由于在開(kāi)發(fā)之前的 COM組件時(shí)投入了大量的人力、財(cái)力,如何在 .NET 環(huán)境下重用這些 COM組件就顯得更有意義,本節(jié)將介紹使這些 COM組件“起死回生”的方法。 互操作: ? 組件化技術(shù)是利用組件技術(shù)來(lái)開(kāi)發(fā)的一種方法組件技術(shù),是組件化開(kāi)發(fā)的核心;組件是可以用來(lái)重用、進(jìn)行發(fā)布、進(jìn)行部署的一種二進(jìn)制代碼單元;組件技術(shù)就是規(guī)定如何定義這樣一種代碼單元的規(guī)范;所以組件并不一定遵循某種規(guī)范,它有一些很明顯的特性和特征。對(duì)組件來(lái)說(shuō),最重要的技術(shù)和特點(diǎn)就是它定義了接口,即如何使用組件,組件內(nèi)部定義了實(shí)現(xiàn)接口的方法。但是接口的定義,通常來(lái)說(shuō)在大多數(shù)組件技術(shù)當(dāng)中都是可以實(shí)現(xiàn)分離的,不是緊密地綁定在一起,那么通過(guò)組件技術(shù)就可以去解決編程當(dāng)中兩個(gè)很大的問(wèn)題:①代碼的重用,組件技術(shù)非常便于實(shí)現(xiàn)代碼的重用;②可以解決代碼的部署,以組件為單元來(lái)部署應(yīng)用程序,會(huì)比以前部署整個(gè)應(yīng)用程序更加便利和靈活。通常用一個(gè)方框加上幾個(gè)圓圈的示意方式來(lái)表示組件 互操作: 互操作: ? 上圖也說(shuō)明了要使用組件就必須通過(guò)它所規(guī)定的接口來(lái)實(shí)現(xiàn)。如果這些接口是相同的,即幾個(gè)組件實(shí)現(xiàn)相同的接口,這些組件之間就可以相互進(jìn)行替換。對(duì)于同一個(gè)接口,可以選用同樣接口的組件,上圖所示組件 3和組件 4,它們的接口是相同的,用戶可以使用兩個(gè)其中的任意一個(gè),這樣應(yīng)用程序主體可以不需要發(fā)生任何變更,程序的功能、行為就可以進(jìn)行變化??梢远x好組件(如組件 1)的接口之后,把這些組件交給用戶所屬的開(kāi)發(fā)團(tuán)隊(duì)自行生產(chǎn);另外也可以把組件(如組件 2)接口定義交給其他廠家,由他們來(lái)設(shè)計(jì)實(shí)現(xiàn)這個(gè)接口,然后再去購(gòu)買,這就是接口和實(shí)現(xiàn)分離帶來(lái)組件技術(shù)的一種靈活性。無(wú)論是在運(yùn)行時(shí)刻去更換組件還是在開(kāi)發(fā)時(shí)刻更替組件的定義去實(shí)現(xiàn)組件,無(wú)論是誰(shuí)實(shí)現(xiàn)的(用戶自己還是其他廠商),得到的結(jié)果都是一樣的。 互操作: ? 組件化開(kāi)發(fā)與傳統(tǒng)的開(kāi)發(fā)方式主要區(qū)別在于開(kāi)發(fā)都是圍繞組件為中心的,用戶從設(shè)計(jì)應(yīng)用程序開(kāi)始就很明確:應(yīng)用程序應(yīng)該由很多不同的組件來(lái)構(gòu)成,這些組件之間的關(guān)系應(yīng)該是怎樣的,它們的協(xié)作是如何來(lái)完成的,這些在設(shè)計(jì)的時(shí)候就需要去考慮。組件的接口應(yīng)該如何定義這是最關(guān)鍵的,有了這些定義之后,就可以根據(jù)接口實(shí)現(xiàn)組件的功能。最后把這些組件拼裝在一起構(gòu)成應(yīng)用程序。 ? 部署是組件化開(kāi)發(fā)的一個(gè)過(guò)程,同樣需要認(rèn)真考慮。它的流程就是確定好應(yīng)用程序的架構(gòu)之后,設(shè)計(jì)、開(kāi)發(fā)組件,最后在客戶端把組件組裝起來(lái)構(gòu)成完整的應(yīng)用程序。 互操作: 下面介紹如何通過(guò)在 .NET 中如何創(chuàng)建、開(kāi)發(fā)組件。 ? 1. 創(chuàng)建組件 在 .NET 中,組件包含了很多類,這些類應(yīng)該包含在命名空間,所以在創(chuàng)建組件的時(shí)候,首先應(yīng)該包含一個(gè)實(shí)現(xiàn)功能的類,同時(shí)把這個(gè)類放在命名空間中。 ? 2. 編譯組件 使用下列命令將 。 E:\ csc /out: /target:library 在完成了組件的創(chuàng)建和編譯之后,就要在不同種類的程序中使用這個(gè)組件。 ? 3. 創(chuàng)建簡(jiǎn)單的控制臺(tái)客戶端程序調(diào)用組件 互操作: ? 4. 創(chuàng)建 Web客戶端應(yīng)用程序調(diào)用組件 ? 5. 在 .NET 程序中調(diào)用現(xiàn)成的組件 要實(shí)現(xiàn)互操作性,必須首先引入 .NET Framework 的 。 C中使用的語(yǔ)法為:using 。 .NET訪問(wèn) API,并允許 C 訪問(wèn)非托管的 DLL函數(shù)。例如,要調(diào)用 Windows MessageBox函數(shù): int MessageBox(HWND hwnd,LPCTSTR lpText, LPCTSTR lpCaption,UINT uType) 可以聲明一個(gè)具有 DLLImport屬性的 static extern方法: using ; [DllImport(―‖)] static ertern int MessageBox(int hwnd,string text,string caption,int type)。 然后在代碼里面直接調(diào)用就可以了。 注意:在調(diào)用返回字符串的 API中要使用 StringBui
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1