国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      組件作用域的創(chuàng)建和終止的制作方法

      文檔序號(hào):6441245閱讀:135來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):組件作用域的創(chuàng)建和終止的制作方法
      技術(shù)領(lǐng)域
      本公開(kāi)涉及模塊化計(jì)算系統(tǒng)管理,例如,創(chuàng)建和終止模塊化計(jì)算應(yīng)用內(nèi)的組件作用域。
      背景技術(shù)
      合成容器(在本領(lǐng)域中也被稱(chēng)為依賴(lài)關(guān)系容器、依賴(lài)關(guān)系注入容器、控制反轉(zhuǎn)容器等)是用于將應(yīng)用模塊和/或其他組件連接在一起的組件框架。合成容器通過(guò)讀取或推斷組件中所表達(dá)的依賴(lài)關(guān)系并嘗試通過(guò)使用來(lái)自其他組件的實(shí)例和/或值來(lái)滿(mǎn)足這些依賴(lài)關(guān)系來(lái)操作。合成容器具有其創(chuàng)建的組件實(shí)例的所有權(quán),由此為這些實(shí)例定義生存期和可訪問(wèn)性邊界。然而,對(duì)于某些應(yīng)用,常規(guī)合成容器不為生存期和/或可訪問(wèn)性提供足夠的作用域粒度。例如,多文檔應(yīng)用可能期望對(duì)每一個(gè)打開(kāi)的文檔具有相應(yīng)組件(例如,文本緩沖器、撤消管理器、拼寫(xiě)檢查器等)的其自己的副本。為了在常規(guī)實(shí)現(xiàn)中實(shí)現(xiàn)這點(diǎn),組件被要求設(shè)置其自己的處理相關(guān)聯(lián)的基礎(chǔ)結(jié)構(gòu)邏輯的作用域語(yǔ)義(例如,在新文檔被創(chuàng)建時(shí)啟動(dòng)新作用域)。因此,組件實(shí)現(xiàn)伴隨特定合成容器,從而使其較不可重用且較不可測(cè)試并且使其代碼較不可表達(dá)。當(dāng)今計(jì)算系統(tǒng)管理技術(shù)的上述缺點(diǎn)僅旨在提供常規(guī)系統(tǒng)的某些問(wèn)題的概覽,并且不旨在是窮盡性的。常規(guī)系統(tǒng)的其他問(wèn)題以及此處所描述的各非限制性實(shí)施例的對(duì)應(yīng)的益處可以在審閱以下描述后變得更顯而易見(jiàn)。

      發(fā)明內(nèi)容
      此處提供了簡(jiǎn)化的發(fā)明內(nèi)容以幫助能夠?qū)σ韵赂敿?xì)的描述和附圖中的示例性、非限制性實(shí)施例的各方面有基本或大體的理解。然而,本發(fā)明內(nèi)容并不旨在作為詳盡的或窮盡的。相反,本節(jié)發(fā)明內(nèi)容的唯一目的在于,以簡(jiǎn)化的形式提出與一些示例性、非限制性實(shí)施例相關(guān)的一些概念,作為以下各實(shí)施例的更詳細(xì)的描述的序言。在各實(shí)施例中,引入了一種自動(dòng)化作用域生成機(jī)制,該機(jī)制以應(yīng)用無(wú)關(guān)方式建立應(yīng)用模塊及其作用域和依賴(lài)關(guān)系。在一個(gè)實(shí)施例中,一種程序組件作用域管理系統(tǒng)包括被配置成經(jīng)由一個(gè)或多個(gè)應(yīng)用模塊組件提供服務(wù)或提供對(duì)服務(wù)的訪問(wèn)的應(yīng)用組件。該系統(tǒng)還可包括作用域生成器組件,該組件被配置成從應(yīng)用組件接收與對(duì)應(yīng)于所選應(yīng)用模塊組件的所請(qǐng)求的作用域相關(guān)的信息,創(chuàng)建涉及所選應(yīng)用模塊組件的各依賴(lài)關(guān)系的合成容器,創(chuàng)建所請(qǐng)求的作用域,以及響應(yīng)于從應(yīng)用組件接收到的信息來(lái)將所請(qǐng)求的作用域分配給合成容器。例如,應(yīng)用模塊組件的至少一部分可對(duì)應(yīng)于應(yīng)用窗口。在另一實(shí)施例中,一種用于管理計(jì)算系統(tǒng)中的組件作用域的方法包括從與一個(gè)或多個(gè)應(yīng)用模塊相關(guān)聯(lián)的應(yīng)用獲取與該一個(gè)或多個(gè)應(yīng)用模塊的所請(qǐng)求的作用域相關(guān)的信息,創(chuàng)建涉及該一個(gè)或多個(gè)應(yīng)用模塊的各依賴(lài)關(guān)系的合成容器,為該一個(gè)或多個(gè)應(yīng)用模塊創(chuàng)建所請(qǐng)求的作用域,以及將所請(qǐng)求的作用域與合成容器相關(guān)聯(lián)。
      在另一實(shí)施例中,一種應(yīng)用請(qǐng)求處理方法包括與至少一個(gè)應(yīng)用相關(guān)聯(lián)地標(biāo)識(shí)新請(qǐng)求者實(shí)體,提交創(chuàng)建對(duì)應(yīng)于新請(qǐng)求者實(shí)體的作用域的請(qǐng)求,響應(yīng)于該請(qǐng)求來(lái)獲取與對(duì)應(yīng)于新請(qǐng)求者實(shí)體的作用域相關(guān)的信息,以及根據(jù)對(duì)應(yīng)于新請(qǐng)求者實(shí)體的作用域來(lái)處理來(lái)自該新請(qǐng)求者實(shí)體的請(qǐng)求。這些和其他實(shí)施例在下文中更詳細(xì)地描述。


      參考附圖進(jìn)一步描述各非限制性實(shí)施例,在附圖中圖1是示出根據(jù)一個(gè)或多個(gè)實(shí)施例的作用域管理系統(tǒng)的簡(jiǎn)化視圖的框圖;圖2-3是示出可實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的各個(gè)示例性文檔編輯器應(yīng)用的框圖;圖4是根據(jù)一個(gè)或多個(gè)實(shí)施例的示例性應(yīng)用作用域結(jié)構(gòu)的說(shuō)明性視圖;圖5是示出根據(jù)一個(gè)或多個(gè)實(shí)施例的分層作用域管理系統(tǒng)的框圖;圖6是示出根據(jù)一個(gè)或多個(gè)實(shí)施例的合成容器創(chuàng)建和作用域系統(tǒng)的框圖;圖7-8是示出根據(jù)一個(gè)或多個(gè)實(shí)施例的各個(gè)應(yīng)用請(qǐng)求處理系統(tǒng)的框圖;圖9是示出用于應(yīng)用作用域創(chuàng)建和管理的示例性、非限制性過(guò)程的流程圖;圖10是示出用于管理對(duì)應(yīng)于應(yīng)用請(qǐng)求的作用域的示例性、非限制性過(guò)程的流程圖;圖11是表示其中可實(shí)現(xiàn)在本文中所述的各實(shí)施例的示例性、非限制性聯(lián)網(wǎng)環(huán)境的框圖;以及圖12是表示其中可實(shí)現(xiàn)在本文中所述的各實(shí)施例的一個(gè)或多個(gè)方面的示例性、非限制性計(jì)算系統(tǒng)或操作環(huán)境的框圖。
      具體實(shí)施例概覽通過(guò)介紹,計(jì)算系統(tǒng)的軟件組件,諸如應(yīng)用、操作系統(tǒng)等,能夠通過(guò)使用代碼塊和/或其他合適的結(jié)構(gòu)來(lái)以模塊化方式設(shè)計(jì)。代碼塊可包括例如模塊、類(lèi)和/或程序代碼的任何其他合適的元素,等等。在某些情況下,對(duì)應(yīng)于計(jì)算系統(tǒng)的代碼塊能夠通過(guò)依賴(lài)關(guān)系或其他手段彼此附連和/或以其他方式相關(guān)聯(lián)。在給定代碼塊的依賴(lài)關(guān)系的數(shù)量足夠的情況下,可出現(xiàn)代碼塊之間的糾纏,這引發(fā)確定各代碼塊之間的不同邊界方面的困難。因此,在一個(gè)或多個(gè)實(shí)施例中,引入了一種自動(dòng)化作用域生成機(jī)制,該機(jī)制以應(yīng)用無(wú)關(guān)方式建立應(yīng)用模塊及其作用域和依賴(lài)關(guān)系。作用域生成器對(duì)在計(jì)算系統(tǒng)上運(yùn)行的應(yīng)用隱藏作用域管理的復(fù)雜性,由此提高系統(tǒng)效率并降低應(yīng)用代碼復(fù)雜性。在一個(gè)示例中,給定中等復(fù)雜的組件化項(xiàng)目為了生存期和/或可訪問(wèn)性的需要而定義、構(gòu)造和終止合成的隔離邊界,此處呈現(xiàn)了以與特定合成容器解耦并且提供可測(cè)試性和可重用性的方式傳達(dá)該意圖的新風(fēng)格(idiom)。該風(fēng)格基于定義預(yù)定義作用域的“門(mén)”的類(lèi)型。當(dāng)由合成容器內(nèi)的組件使用時(shí),在組件的代碼執(zhí)行期間的某一時(shí)刻靜態(tài)傳達(dá)控制隔離邊界(例如,作用域)的意圖。此處描述的作用域管理技術(shù)能夠一般地對(duì)各種應(yīng)用實(shí)現(xiàn)。例如,此處提供了在文檔編輯器應(yīng)用、網(wǎng)絡(luò)請(qǐng)求處理應(yīng)用和其他應(yīng)用的上下文中使用自動(dòng)化作用域生成器來(lái)進(jìn)行作用域管理的各個(gè)示例。在此處提供的其他示例中,作用域管理器可實(shí)現(xiàn)基于作用域?qū)哟畏治龊?或其他因素的對(duì)作用域有效性的靜態(tài)檢驗(yàn),由此提供比常規(guī)作用域機(jī)制所提供的功能更多的功能。常規(guī)上,由于標(biāo)識(shí)代碼塊之間的依賴(lài)關(guān)系是復(fù)雜的過(guò)程,因此利用諸如合成容器(CC)、依賴(lài)關(guān)系注入容器、控制反轉(zhuǎn)容器等結(jié)構(gòu),這些結(jié)構(gòu)組裝相應(yīng)模塊并且以經(jīng)組裝且使用就緒的格式返回每一個(gè)相應(yīng)模塊。在一個(gè)示例中,CC利用基于約定、標(biāo)準(zhǔn)接口等的信息來(lái)查明將組件連接在一起的方式。在一實(shí)施例中,模塊化應(yīng)用中的復(fù)雜依賴(lài)關(guān)系能夠從依賴(lài)關(guān)系是分開(kāi)的前提開(kāi)始并且隨后將CC用作集成這些依賴(lài)關(guān)系的載體來(lái)設(shè)計(jì)?;蛘?,可執(zhí)行人工分析以組裝依賴(lài)關(guān)系;然而,隨著應(yīng)用的成長(zhǎng)及其依賴(lài)關(guān)系的數(shù)量的增加(例如,對(duì)于某些應(yīng)用類(lèi)型而言是數(shù)千的量級(jí)),人工依賴(lài)關(guān)系分析變得不可行。因此,可利用CC和/或其他手段來(lái)分析組件,并且在給定約定和/或其他合適的手段的情況下,獲得對(duì)各組件如何相互依賴(lài)的理解。在另一實(shí)施例中,CC根據(jù)依賴(lài)關(guān)系注入來(lái)操作,該依賴(lài)關(guān)系注入是在面向?qū)ο缶幊讨杏脕?lái)向軟件組件提供外部依賴(lài)關(guān)系的技術(shù)。CC可被實(shí)現(xiàn)為將行為與依賴(lài)關(guān)系解析分開(kāi)的設(shè)計(jì)模式,由此解耦相關(guān)組件。例如,不是對(duì)依賴(lài)關(guān)系進(jìn)行硬編碼,可利用依賴(lài)關(guān)系注入來(lái)使得組件能夠僅僅列出其適用的服務(wù),依賴(lài)關(guān)系注入框架可基于此來(lái)提供所列出的服務(wù)。在沒(méi)有依賴(lài)關(guān)系注入的情況下,可以理解必須使用給定服務(wù)來(lái)完成任務(wù)的組件不僅依賴(lài)于服務(wù)的接口,而且依賴(lài)于服務(wù)的實(shí)現(xiàn)細(xì)節(jié)。由此,組件被要求處理其對(duì)服務(wù)的使用以及該服務(wù)的生存期兩者。相反,通過(guò)使用依賴(lài)關(guān)系注入,服務(wù)的生存期由諸如CC等依賴(lài)關(guān)系提供者而不是該組件來(lái)提供。在一個(gè)示例中,CC是鏈接服務(wù)的消費(fèi)組件和提供組件的一種獨(dú)立的、外部組件。因此,消費(fèi)者只需要對(duì)服務(wù)的實(shí)現(xiàn)的引用來(lái)完成其任務(wù)。在一個(gè)示例中,依賴(lài)關(guān)系注入可被用來(lái)將高級(jí)模塊與低級(jí)服務(wù)解耦。結(jié)果,用于依賴(lài)關(guān)系注入的CC和/或其他機(jī)制提供依賴(lài)關(guān)系反轉(zhuǎn)功能。作為具體的非限制性示例,CC和/或其他依賴(lài)關(guān)系注入機(jī)制可提供為文檔編輯器組件實(shí)現(xiàn)依賴(lài)關(guān)系的功能。例如,為了保存文檔,文檔編輯器可依賴(lài)于諸如文件系統(tǒng)管理器、拼寫(xiě)檢查器等組件。因此,可使用CC來(lái)集成文檔編輯器所依賴(lài)的組件以便于文檔編輯器的正確操作。然而,CC和其他這樣的結(jié)構(gòu)遭受關(guān)于作用域的困難。作為示例,在文檔編輯器應(yīng)用的情況下,可能期望對(duì)各個(gè)打開(kāi)的文檔利用單獨(dú)的作用域。因此,例如,可經(jīng)由各個(gè)文檔的作用域提供不同的拼寫(xiě)檢查器副本,而不是對(duì)多個(gè)打開(kāi)的文檔利用單個(gè)拼寫(xiě)檢查器。常規(guī)上,這通過(guò)對(duì)每一作用域利用一個(gè)CC來(lái)管理,以使得對(duì)于每一個(gè)新文檔,創(chuàng)建具有對(duì)涉及該文檔的組件集合的控制的新Ce。然而,可以理解,為了使一組件可重用,該組件應(yīng)當(dāng)與其環(huán)境解耦以使其不知曉存在將其組裝在一起的實(shí)體。相反,如果如在現(xiàn)有實(shí)現(xiàn)中那樣手動(dòng)創(chuàng)建新作用域,則組件被要求具有CC結(jié)構(gòu)的知識(shí),創(chuàng)建新CC,并且在每一次需要新作用域時(shí)啟動(dòng)新作用域。鑒于常規(guī)計(jì)算系統(tǒng)管理技術(shù)的至少上述缺點(diǎn),此處描述的各實(shí)施例提供了通過(guò)隱藏作用域創(chuàng)建并暴露此處也被稱(chēng)為作用域生成器的作用域門(mén)來(lái)改進(jìn)的作用域管理,該作用域門(mén)能夠以應(yīng)用無(wú)關(guān)方式被用來(lái)自動(dòng)創(chuàng)建新作用域。在一個(gè)實(shí)施例中,一種程序組件作用域管理系統(tǒng)包括被配置成經(jīng)由一個(gè)或多個(gè)應(yīng)用模塊組件提供至少一個(gè)服務(wù)的應(yīng)用組件。該系統(tǒng)另外包括作用域生成器組件,該組件被配置成從應(yīng)用組件接收與對(duì)應(yīng)于一個(gè)或多個(gè)應(yīng)用模塊組件中的所選應(yīng)用模塊組件的所請(qǐng)求的作用域相關(guān)的信息,以及自動(dòng)創(chuàng)建涉及所選應(yīng)用模塊組件的各依賴(lài)關(guān)系的合成容器,創(chuàng)建所請(qǐng)求的作用域,以及響應(yīng)于從應(yīng)用組件接收到的信息來(lái)將所請(qǐng)求的作用域分配給合成容器。在一些實(shí)現(xiàn)中,該一個(gè)或多個(gè)應(yīng)用模塊組件中的至少一部分對(duì)應(yīng)于應(yīng)用窗口。另外地或另選地,所請(qǐng)求的作用域可對(duì)應(yīng)于根據(jù)所述至少一個(gè)服務(wù)來(lái)提交一個(gè)或多個(gè)請(qǐng)求的實(shí)體。在一個(gè)示例中,作用域生成器組件包括作用域分析組件,該組件被配置成驗(yàn)證所請(qǐng)求的作用域的有效性,以及在所請(qǐng)求的作用域被確定為無(wú)效的情況下阻止創(chuàng)建合成容器。作用域分析組件還可被配置成獲取關(guān)于與所選應(yīng)用模塊組件相關(guān)聯(lián)的作用域的信息,以及至少部分地通過(guò)確定所請(qǐng)求的作用域是否可從與應(yīng)用模塊組件相關(guān)聯(lián)的作用域訪問(wèn)來(lái)驗(yàn)證所請(qǐng)求的作用域的有效性。在其他示例中,作用域生成器組件與對(duì)應(yīng)于所選應(yīng)用模塊組件的父應(yīng)用模塊組件的合成容器相關(guān)聯(lián)。在還有一些其他示例中,作用域生成器組件還被配置成至少部分地基于定義所述一個(gè)或多個(gè)應(yīng)用模塊組件的靜態(tài)類(lèi)屬參數(shù)來(lái)創(chuàng)建所請(qǐng)求的作用域。在各實(shí)現(xiàn)中,作用域生成器組件可包括被配置成創(chuàng)建合成容器的合成容器設(shè)置組件。在這一示例中,作用域生成器組件可創(chuàng)建所請(qǐng)求的作用域并將所請(qǐng)求的作用域分配給由合成容器設(shè)置組件創(chuàng)建的合成容器。在其他示例中,應(yīng)用組件還被配置成經(jīng)由與作用域生成器組件相關(guān)聯(lián)的應(yīng)用程序編程接口(API)向作用域生成器組件提交關(guān)于所請(qǐng)求的作用域的信息。在另一實(shí)施例中,一種用于管理計(jì)算系統(tǒng)中的組件作用域的方法包括從與一個(gè)或多個(gè)應(yīng)用模塊相關(guān)聯(lián)的應(yīng)用獲取與該一個(gè)或多個(gè)應(yīng)用模塊的所請(qǐng)求的作用域相關(guān)的信息,創(chuàng)建涉及該一個(gè)或多個(gè)應(yīng)用模塊的各依賴(lài)關(guān)系的合成容器,為該一個(gè)或多個(gè)應(yīng)用模塊創(chuàng)建所請(qǐng)求的作用域,以及將所請(qǐng)求的作用域與合成容器相關(guān)聯(lián)。在一些實(shí)現(xiàn)中,該方法另外包括驗(yàn)證所請(qǐng)求的作用域的有效性并且在所請(qǐng)求的作用域無(wú)效的情況下放棄創(chuàng)建所請(qǐng)求的作用域。該驗(yàn)證可包括例如標(biāo)識(shí)與關(guān)于所請(qǐng)求的作用域的信息相關(guān)聯(lián)的請(qǐng)求者作用域,以及驗(yàn)證所請(qǐng)求的作用域可由請(qǐng)求者作用域訪問(wèn)。在一個(gè)示例中,創(chuàng)建所請(qǐng)求的作用域可包括至少部分地基于類(lèi)屬地定義該一個(gè)或多個(gè)應(yīng)用模塊的靜態(tài)參數(shù)來(lái)創(chuàng)建所請(qǐng)求的作用域。在另一示例中,獲取可包括經(jīng)由作用域API調(diào)用從應(yīng)用獲取與所請(qǐng)求的作用域相關(guān)的信息。在另一示例中,創(chuàng)建合成容器可包括獨(dú)立于應(yīng)用創(chuàng)建合成容器,創(chuàng)建所請(qǐng)求的作用域可包括獨(dú)立于應(yīng)用創(chuàng)建所請(qǐng)求的作用域。在還有一些其他實(shí)現(xiàn)中,該方法可包括從應(yīng)用獲取與至少一個(gè)將要終止的作用域相關(guān)的信息,以及終止該至少一個(gè)將要終止的作用域。在另一實(shí)施例中,一種應(yīng)用請(qǐng)求處理方法包括與至少一個(gè)應(yīng)用相關(guān)聯(lián)地標(biāo)識(shí)新請(qǐng)求者實(shí)體,提交創(chuàng)建對(duì)應(yīng)于新請(qǐng)求者實(shí)體的作用域的請(qǐng)求,響應(yīng)于該請(qǐng)求來(lái)獲取與對(duì)應(yīng)于新請(qǐng)求者實(shí)體的作用域相關(guān)的信息,以及根據(jù)對(duì)應(yīng)于新請(qǐng)求者實(shí)體的作用域來(lái)處理來(lái)自該新請(qǐng)求者實(shí)體的請(qǐng)求。在一個(gè)示例中,該方法還包括響應(yīng)于新請(qǐng)求者實(shí)體完成活動(dòng)來(lái)終止對(duì)應(yīng)于新請(qǐng)求者實(shí)體的作用域。另外地或另選地,提交可包括經(jīng)由作用域管理API提交請(qǐng)求。在另一示例中,處理可包括標(biāo)識(shí)包括新請(qǐng)求者實(shí)體的多個(gè)請(qǐng)求者實(shí)體,以及根據(jù)分別與該多個(gè)請(qǐng)求者實(shí)體相關(guān)聯(lián)的作用域來(lái)處理來(lái)自該多個(gè)請(qǐng)求者實(shí)體的請(qǐng)求。此處,以上已經(jīng)呈現(xiàn)了用于實(shí)現(xiàn)計(jì)算系統(tǒng)中的作用域創(chuàng)建和終止的實(shí)施例中的某一些的概覽。作為接下來(lái)的內(nèi)容的向?qū)?,更詳?xì)地描述分布式事務(wù)管理的各種示范性、非限制性實(shí)施例和特征。隨后,為了附加說(shuō)明,給出一些非限制性實(shí)現(xiàn)和示例,之后是其中可實(shí)現(xiàn)這些實(shí)施例和/或特征的代表性網(wǎng)絡(luò)和計(jì)算環(huán)境。組件作用域的建立和終止作為對(duì)在模塊化計(jì)算環(huán)境中進(jìn)行作用域管理的一個(gè)或多個(gè)非限制性方式的進(jìn)一步描述,圖1一般地示出了示例性作用域管理系統(tǒng)的框圖。圖1所示的系統(tǒng)包括應(yīng)用組件100,該組件能夠以模塊化方式,例如使用一個(gè)或多個(gè)應(yīng)用模塊組件110,來(lái)編碼和/或以其他方式實(shí)現(xiàn)。如上所述,常規(guī)計(jì)算系統(tǒng)不具有可用來(lái)在個(gè)體應(yīng)用的外部控制作用域的機(jī)制,這導(dǎo)致應(yīng)用復(fù)雜性的顯著提高。相反,圖1所示的系統(tǒng)利用對(duì)應(yīng)用組件100及其應(yīng)用模塊組件110隱藏作用域生成和管理的復(fù)雜性的作用域生成器組件120。因此,作用域生成器組件120可被配置成以自動(dòng)且應(yīng)用無(wú)關(guān)的方式執(zhí)行組件設(shè)置、作用域建立和其他合適的操作,從而使應(yīng)用模塊組件110的多樣性、可重用性和可測(cè)試性更高。根據(jù)各實(shí)施例,圖1所示的系統(tǒng)可以在任何合適的計(jì)算環(huán)境中并且為任何合適的應(yīng)用類(lèi)型實(shí)現(xiàn)。例如,圖1所示的系統(tǒng)以及此處描述和示出的其他實(shí)施例可以在客戶(hù)機(jī)計(jì)算機(jī)、服務(wù)器、智能電話(huà)、個(gè)人數(shù)字助理(PDA)和/或任何其他合適的設(shè)備上利用。此外,可以對(duì)諸如例如文檔編輯器、網(wǎng)絡(luò)應(yīng)用、編程工具等應(yīng)用利用此處描述的實(shí)施例。作為其中可實(shí)現(xiàn)此處描述的實(shí)施例的系統(tǒng)的具體的、非限制性示例,圖2示出了與文檔編輯器應(yīng)用200相關(guān)聯(lián)的文檔編輯系統(tǒng)。文檔編輯器應(yīng)用200包括應(yīng)用系統(tǒng)210,該應(yīng)用系統(tǒng)由一個(gè)或多個(gè)系統(tǒng)模塊212組成。此外,應(yīng)用系統(tǒng)210利用系統(tǒng)CC 214。文檔編輯器應(yīng)用200被用來(lái)編輯一個(gè)或多個(gè)文檔230。這些文檔進(jìn)而可以與文檔CC 232相關(guān)聯(lián),該文檔CC為文檔230組裝對(duì)應(yīng)于文檔組件234的各個(gè)依賴(lài)關(guān)系。與其中對(duì)應(yīng)于給定文檔230的文檔CC 232直接由應(yīng)用系統(tǒng)210生成的常規(guī)系統(tǒng)形成對(duì)比,在一個(gè)實(shí)施例中應(yīng)用系統(tǒng)210利用如此處描述的作用域生成器220來(lái)對(duì)應(yīng)用系統(tǒng)210隱藏作用域復(fù)雜性并且自動(dòng)化各個(gè)文檔230的作用域建立。作用域生成器220可被實(shí)現(xiàn)為文檔管理器和/或任何其他合適的機(jī)制。作為另一非限制性示例,圖3示出了利用文檔管理器310來(lái)管理各個(gè)文檔320-322的文檔編輯器應(yīng)用300。如圖3所示,文檔320-322與文檔窗口 330相關(guān)聯(lián),文檔窗口 330又與諸如撤消管理器332、保存鍵入的各個(gè)字符的狀態(tài)的文本緩沖器334、依賴(lài)于文本緩沖器334的拼寫(xiě)檢查器336等由各個(gè)文檔320-322利用的其他資源相關(guān)聯(lián)。在要?jiǎng)?chuàng)建新文檔的情況下,文檔管理器310能夠獨(dú)立于文檔320-322啟動(dòng)新作用域。在一個(gè)示例中,文檔管理器310最初可通過(guò)確定要與文檔320-322相關(guān)聯(lián)的組件及其次序來(lái)創(chuàng)建對(duì)應(yīng)于新創(chuàng)建的文檔320-322的文檔CC 340。對(duì)于其中要編輯多個(gè)文檔320-322的系統(tǒng),作用域防止復(fù)雜問(wèn)題,因?yàn)槔脤?duì)應(yīng)于文檔320-322的多個(gè)窗口實(shí)例,這些窗口實(shí)例中的每一個(gè)都將具有單獨(dú)的撤消管理器332、文本緩沖器334、拼寫(xiě)檢查器336等??梢岳斫?,如果不利用多個(gè)組件實(shí)例,則錯(cuò)誤可以在文檔之間傳播。例如,如果在多個(gè)文檔之間只共享單個(gè)文本緩沖器實(shí)例,則在第一文檔中鍵入的字符將蓋寫(xiě)在第二文檔中鍵入的字符。雖然可以為每一個(gè)文檔320-322創(chuàng)建單獨(dú)的組件實(shí)例,但在向文檔管理器310傳遞新作用域方面引發(fā)問(wèn)題。雖然在常規(guī)系統(tǒng)中文檔管理器能夠在基本的水平上理解依賴(lài)關(guān)系,但這些文檔管理器無(wú)法看出需要作用域的事實(shí)。因此,文檔管理器310能夠充分利用作用域生成器(例如,作用域生成器組件120)的功能來(lái)創(chuàng)建對(duì)應(yīng)于每一個(gè)文檔320-322的新作用域。在一個(gè)示例中,作用域生成器可由文檔管理器310和/或圖3所示的系統(tǒng)中的其他合適的元素經(jīng)由作用域管理API和/或其他合適的手段來(lái)調(diào)用。在一個(gè)示例中,當(dāng)文檔編輯器應(yīng)用300第一次運(yùn)行時(shí),不存在打開(kāi)的文檔320-322。隨后,當(dāng)?shù)谝淮蝿?chuàng)建文檔時(shí),創(chuàng)建第一作用域,并且與針對(duì)該作用域利用的組件一起透明地創(chuàng)建新文檔CC 340。當(dāng)創(chuàng)建其他文檔時(shí),以類(lèi)似方式創(chuàng)建新文檔CC 340。在另一示例中,打開(kāi)文檔的列表可由文檔編輯器應(yīng)用與系統(tǒng)CC 302 —起維護(hù)。在另一示例中,當(dāng)用戶(hù)在打開(kāi)的文檔之間切換時(shí),文檔編輯器應(yīng)用300能夠繼續(xù)維護(hù)與各個(gè)打開(kāi)的文檔320-322相關(guān)的信息,因?yàn)閷?duì)焦點(diǎn)文檔的改變僅導(dǎo)致視覺(jué)改變并且不影響作用域。接著參考圖4,示出了示例性應(yīng)用作用域結(jié)構(gòu)。該系統(tǒng)包括與例如應(yīng)用、操作系統(tǒng)等相關(guān)聯(lián)的組件A。此外,組件A與合成容器400和作用域生成器相關(guān)聯(lián)。如上所述,對(duì)合成的隔離邊界的控制在若干應(yīng)用模型中進(jìn)行。例如,服務(wù)器側(cè)應(yīng)用能夠基于短期請(qǐng)求在web模型的上下文中利用合成的隔離邊界。作為另一示例,只要將在桌面應(yīng)用中控制(例如,與共享或全局可訪問(wèn)形成對(duì)比)狀態(tài)和可訪問(wèn)性,就可利用這些邊界,如同上述多文檔應(yīng)用和/或其他合適的應(yīng)用中那樣。在一實(shí)施例中,圖4所示的系統(tǒng)可利用由公共類(lèi)型表明的風(fēng)格。該類(lèi)型取得定義所依賴(lài)的組件和/或契約的靜態(tài)類(lèi)屬參數(shù)(例如,T)。組件A然后可利用與其表達(dá)標(biāo)準(zhǔn)依賴(lài)關(guān)系的方式相組合的該風(fēng)格。在一個(gè)示例中,參數(shù)T向合成容器400表達(dá)組件A期望控制正被用于以下各種目的的預(yù)定義作用域410和/或412 第一,確定要?jiǎng)?chuàng)建的預(yù)定義作用域,以及第二,啟用靜態(tài)和運(yùn)行時(shí)分析來(lái)確定該作用域是否可從請(qǐng)求者作用域訪問(wèn)。可以例如在其中作用域是分層的系統(tǒng)中利用這一分析。這樣的作用域分析在此處更詳細(xì)地描述。與常規(guī)系統(tǒng)相比,可以理解,不利用此處描述的實(shí)施例的框架依靠復(fù)雜API來(lái)取得相同的結(jié)果,而不具有靜態(tài)分析的好處。在一實(shí)施例中,組件A可對(duì)應(yīng)于任何合適的應(yīng)用,諸如文檔編輯器、基于web的應(yīng)用等。作為非限制性示例,如與作用域410-412相關(guān)聯(lián)地示出的組件T可對(duì)應(yīng)于一窗口,而組件Tl和T2可對(duì)應(yīng)于該窗口的相關(guān)組件。在一個(gè)示例中,作用域生成器由組件A利用來(lái)一般化CC和作用域創(chuàng)建。例如,可以理解,不能對(duì)其他常規(guī)應(yīng)用利用常規(guī)博客應(yīng)用的自定義作用域代碼。相反,圖4所示的作用域生成器可以用來(lái)解決跨許多不同類(lèi)型的應(yīng)用的作用域管理。在另一示例中,在生成作用域410-412之前,參數(shù)T可用作占位符直到被具體的作用域替代。因此,例如在T對(duì)應(yīng)于一窗口的情況下,作用域生成器在第一次執(zhí)行時(shí)返回一窗口。在另一實(shí)施例中,作用域生成器可用于管制作用域的生存期。作為示例,對(duì)應(yīng)于一文檔的作用域的生存期從創(chuàng)建該文檔的時(shí)間跨越到關(guān)閉該文檔的時(shí)間。同樣,對(duì)應(yīng)于網(wǎng)絡(luò)請(qǐng)求的作用域的生存期從作出該請(qǐng)求的時(shí)間跨越到滿(mǎn)足該請(qǐng)求的時(shí)間。在一些實(shí)施例中,如此處提供的作用域管理能夠在分層系統(tǒng)的上下文中被利用。
      9作為如圖5所示的具體示例,一應(yīng)用能夠利用包括構(gòu)建系統(tǒng)510的分層結(jié)構(gòu),該構(gòu)建系統(tǒng)510包含編輯器520,該編輯器又包含應(yīng)用核530。如圖5所示,層510-530還可與能夠如此處一般描述的那樣操作的作用域生成器500相關(guān)聯(lián)。在一個(gè)示例中,作用域生成器500可包括作用域分析組件502,該作用域分析組件可用于對(duì)作用域生成請(qǐng)求執(zhí)行靜態(tài)分析。例如,作用域分析組件502可檢查以確定在給定系統(tǒng)的作用域分層結(jié)構(gòu)和/或其他因素的情況下創(chuàng)建作用域是否是可能的。如果無(wú)法創(chuàng)建作用域,則作用域分析組件502可阻止創(chuàng)建作用域和/或以其他方式阻止作用域生成器組件500創(chuàng)建作用域。作用域分析組件502可基于各種準(zhǔn)則來(lái)分析潛在作用域。例如,作用域分析組件502可確定給定作用域是否有效和/或可訪問(wèn)。因此,如果給定層的作用域生成器試圖創(chuàng)建對(duì)應(yīng)于新窗口的作用域,但該窗口在該層之外,則對(duì)該層處的作用域生成器的調(diào)用可被配置成失敗。通過(guò)提供應(yīng)用無(wú)關(guān)的作用域管理,可以理解,方便了在常規(guī)實(shí)現(xiàn)下是不可能的作用域分析和其他操作。此外,可以理解,提高了組件的可重用性,因?yàn)殡S著對(duì)一組件的依賴(lài)關(guān)系減少,該組件的可重用性提高。在上文中提供的各實(shí)施例中,作用域生成器用于創(chuàng)建對(duì)應(yīng)于給定作用域的CC以及創(chuàng)建作用域本身。然而,作用域生成器組件610可另選地如圖6所示的那樣操作,其中CC及其作用域的設(shè)置被劃分到分開(kāi)的組件中。更具體而言,CC生成器組件612可用于為對(duì)應(yīng)于一個(gè)或多個(gè)應(yīng)用600的給定作用域生成CC,而作用域生成器組件610可用于如此處一般描述的那樣生成作用域。作為此處描述的實(shí)施例的另一示例實(shí)現(xiàn),此處提供的各種作用域管理技術(shù)能夠在基于網(wǎng)絡(luò)的應(yīng)用的上下文中利用。作為示例,網(wǎng)絡(luò)應(yīng)用能夠如圖7所示的那樣操作,其中一個(gè)或多個(gè)請(qǐng)求者實(shí)體(例如,用戶(hù))700與應(yīng)用710交互。請(qǐng)求者實(shí)體700向應(yīng)用710提供請(qǐng)求,這些請(qǐng)求由請(qǐng)求管理器組件712來(lái)處理。應(yīng)用710進(jìn)而利用作用域生成器組件720來(lái)生成對(duì)應(yīng)于相應(yīng)的請(qǐng)求者實(shí)體700的不同作用域。根據(jù)各實(shí)施例的示例性基于網(wǎng)絡(luò)的應(yīng)用的操作在圖8中更詳細(xì)地示出。在一實(shí)施例中,可以從用戶(hù)設(shè)備800作出對(duì)應(yīng)于在服務(wù)器設(shè)備810上運(yùn)行的應(yīng)用的一個(gè)或多個(gè)請(qǐng)求802。這些請(qǐng)求能夠以任何合適的方式作出,并且能夠定期(例如,對(duì)應(yīng)于預(yù)設(shè)刷新時(shí)間)和/或以任何其他合適的方式發(fā)生。在服務(wù)器設(shè)備810處,收集并處理來(lái)自各個(gè)用戶(hù)設(shè)備800的請(qǐng)求812-816。因此,在用戶(hù)設(shè)備800處該系統(tǒng)看似僅僅相對(duì)于用戶(hù)設(shè)備800操作,但在服務(wù)器設(shè)備810處處理對(duì)應(yīng)于可能許多用戶(hù)設(shè)備810的請(qǐng)求。當(dāng)接收到請(qǐng)求812-816時(shí),服務(wù)器設(shè)備810可利用請(qǐng)求管理器820和/或其他合適的手段來(lái)處理請(qǐng)求812-816。對(duì)請(qǐng)求812-816的處理可包括例如認(rèn)證請(qǐng)求、確認(rèn)請(qǐng)求、滿(mǎn)足請(qǐng)求以及將請(qǐng)求的結(jié)果返回給用戶(hù)設(shè)備800。在一實(shí)施例中,請(qǐng)求管理器820可以與作用域生成器組件822相關(guān)聯(lián),該作用域生成器組件為各個(gè)用戶(hù)設(shè)備800建立請(qǐng)求管理器820的作用域,如此處一般描述的那樣。因此,雖然服務(wù)器設(shè)備810在應(yīng)用層操作,但可通過(guò)作用域?qū)⒉煌恼?qǐng)求管理器實(shí)例分配給相應(yīng)的用戶(hù)設(shè)備800。圖9是示出用于應(yīng)用作用域創(chuàng)建和管理的示例性、非限制性過(guò)程的流程圖。在900,從一應(yīng)用獲取與同該應(yīng)用相關(guān)聯(lián)的一個(gè)或多個(gè)應(yīng)用模塊的所請(qǐng)求的作用域相關(guān)的信息。在910,創(chuàng)建涉及應(yīng)用模塊的各依賴(lài)關(guān)系的合成容器。在920,為應(yīng)用模塊創(chuàng)建所請(qǐng)求的作用域。在930,將所請(qǐng)求的作用域與合成容器相關(guān)聯(lián)。圖10是示出用于管理對(duì)應(yīng)于應(yīng)用請(qǐng)求的作用域的示例性、非限制性過(guò)程的另一流程圖。在1000,與至少一個(gè)應(yīng)用相關(guān)聯(lián)地標(biāo)識(shí)新請(qǐng)求者實(shí)體。在1010,提交創(chuàng)建對(duì)應(yīng)于新請(qǐng)求者實(shí)體的作用域的請(qǐng)求。在1020,響應(yīng)于該請(qǐng)求獲取與對(duì)應(yīng)于新請(qǐng)求者實(shí)體的作用域相關(guān)的信息。在1030,根據(jù)對(duì)應(yīng)于新請(qǐng)求者實(shí)體的作用域來(lái)處理來(lái)自新請(qǐng)求者實(shí)體的請(qǐng)求。示例性聯(lián)網(wǎng)以及分布式環(huán)境本領(lǐng)域的普通技術(shù)人員可以理解,此處描述的作用域管理系統(tǒng)和方法的各實(shí)施例可結(jié)合任何計(jì)算機(jī)或其他客戶(hù)機(jī)或服務(wù)器設(shè)備來(lái)實(shí)現(xiàn),該任何計(jì)算機(jī)或其他客戶(hù)機(jī)或服務(wù)器設(shè)備可作為計(jì)算機(jī)網(wǎng)絡(luò)的一部分來(lái)部署或者被部署在分布式計(jì)算環(huán)境中。在這一點(diǎn)上,此處描述的各實(shí)施例可在任何計(jì)算機(jī)系統(tǒng)或具有任何數(shù)量的存儲(chǔ)器或存儲(chǔ)單元的環(huán)境中實(shí)現(xiàn),并且任何數(shù)量的應(yīng)用和進(jìn)程跨任何數(shù)量的存儲(chǔ)單元發(fā)生。這包括但不限于具有部署在具有遠(yuǎn)程或本地存儲(chǔ)的網(wǎng)絡(luò)環(huán)境或分布式計(jì)算環(huán)境中的服務(wù)器計(jì)算機(jī)和客戶(hù)計(jì)算機(jī)的環(huán)境。分布式計(jì)算通過(guò)計(jì)算設(shè)備和系統(tǒng)之間的通信交換來(lái)提供計(jì)算機(jī)資源和服務(wù)的共享。這些資源和服務(wù)包括信息的交換、對(duì)于諸如文件之類(lèi)的對(duì)象的高速緩存存儲(chǔ)和盤(pán)存儲(chǔ)。這些資源和服務(wù)還包括多個(gè)處理單元之間的處理能力共享以便進(jìn)行負(fù)載平衡、資源擴(kuò)展、處理專(zhuān)門(mén)化等等。分布式計(jì)算利用網(wǎng)絡(luò)連接,從而允許客戶(hù)機(jī)利用其集體力量來(lái)使整個(gè)企業(yè)受益。就此,各種設(shè)備可具有可如參考本發(fā)明的各實(shí)施例描述地參與作用域創(chuàng)建和管理機(jī)制的應(yīng)用、對(duì)象或資源。圖11提供了示例性的聯(lián)網(wǎng)或分布式計(jì)算環(huán)境的示意圖。該分布式計(jì)算環(huán)境包括計(jì)算對(duì)象1110、1112等以及計(jì)算對(duì)象或設(shè)備1120U122U124U126U128等,這些計(jì)算對(duì)象或設(shè)備可包括如應(yīng)用1130、1132、1134、1136、1138所表示的程序、方法、數(shù)據(jù)存儲(chǔ)、可編程邏輯等。可以理解,計(jì)算對(duì)象1110、1112等以及計(jì)算對(duì)象或設(shè)備1120、1122、1124、1126、1128等可包括不同的設(shè)備,諸如個(gè)人數(shù)字助理(PDA)、音頻/視頻設(shè)備、移動(dòng)電話(huà)、MP3播放器、個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)等。每個(gè)計(jì)算對(duì)象1110、1112等以及計(jì)算對(duì)象或設(shè)備1120、1122、1124、1126、1128等可經(jīng)由通信網(wǎng)絡(luò)1140直接或間接地與一個(gè)或多個(gè)其他計(jì)算對(duì)象1110、1112等以及計(jì)算對(duì)象或設(shè)備1120、1122、11M、1126、11 等通信。盡管在圖11中被示為單個(gè)元件,但通信網(wǎng)絡(luò)1140可包括向圖11的系統(tǒng)提供服務(wù)的其他計(jì)算對(duì)象或計(jì)算設(shè)備和/或可表示未示出的多個(gè)互連網(wǎng)絡(luò)。每一個(gè)計(jì)算對(duì)象1110,1112等或計(jì)算對(duì)象或設(shè)備1120U122U124U126,1128等還可以含有應(yīng)用,諸如可以利用API或其他對(duì)象、軟件、固件和/或硬件的、適于實(shí)現(xiàn)或與根據(jù)本公開(kāi)的各實(shí)施例所提供的作用域管理技術(shù)進(jìn)行通信的應(yīng)用1130、1132、1134、1136、1138。存在支持分布式計(jì)算環(huán)境的各種系統(tǒng)、組件和網(wǎng)絡(luò)配置。例如,計(jì)算系統(tǒng)可由有線(xiàn)或無(wú)線(xiàn)系統(tǒng)、本地網(wǎng)絡(luò)或廣泛分布的網(wǎng)絡(luò)連接在一起。當(dāng)前,許多網(wǎng)絡(luò)被耦合至因特網(wǎng),后者為廣泛分布的計(jì)算提供了基礎(chǔ)結(jié)構(gòu)并包含許多不同的網(wǎng)絡(luò),但任何網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)可用于變得與如各實(shí)施例中所描述的作用域管理系統(tǒng)相關(guān)聯(lián)的示例性通信。由此,可使用諸如客戶(hù)機(jī)/服務(wù)器、對(duì)等、或混合架構(gòu)之類(lèi)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的主機(jī)。“客戶(hù)機(jī)”是使用與其無(wú)關(guān)的另一類(lèi)或組的服務(wù)的一類(lèi)或組中的成員??蛻?hù)機(jī)可以是進(jìn)程,即大致上是請(qǐng)求另一程序或進(jìn)程所提供的服務(wù)的一組指令或任務(wù)??蛻?hù)機(jī)進(jìn)程使用所請(qǐng)求的服務(wù),而無(wú)需“知道”關(guān)于其他程序或服務(wù)本身的任何工作細(xì)節(jié)。在客戶(hù)機(jī)/服務(wù)器體系結(jié)構(gòu)中,尤其在聯(lián)網(wǎng)系統(tǒng)中,客戶(hù)機(jī)通常是訪問(wèn)另一計(jì)算機(jī)(例如,服務(wù)器)所提供的共享網(wǎng)絡(luò)資源的計(jì)算機(jī)。在附圖11的圖示中,作為非限制性示例,計(jì)算對(duì)象或設(shè)備1120、1122、11M、1126、11 等可被認(rèn)為是客戶(hù)機(jī)而計(jì)算對(duì)象1110、1112等可被認(rèn)為是服務(wù)器,其中計(jì)算對(duì)象1110、1112等作為提供數(shù)據(jù)服務(wù)的服務(wù)器,諸如從客戶(hù)機(jī)計(jì)算對(duì)象或設(shè)備1120、1122、11對(duì)、1126、11觀等接收數(shù)據(jù)、存儲(chǔ)數(shù)據(jù)、處理數(shù)據(jù)、向客戶(hù)機(jī)計(jì)算對(duì)象或設(shè)備1120、1122、11M、1126、11 等發(fā)送數(shù)據(jù),但任何計(jì)算機(jī)都可取決于環(huán)境而被認(rèn)為是客戶(hù)機(jī)、服務(wù)器、或兩者。服務(wù)器通常是可通過(guò)諸如因特網(wǎng)或無(wú)線(xiàn)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)之類(lèi)的遠(yuǎn)程網(wǎng)絡(luò)或本地網(wǎng)絡(luò)訪問(wèn)的遠(yuǎn)程計(jì)算機(jī)系統(tǒng)。客戶(hù)機(jī)進(jìn)程可在第一計(jì)算機(jī)系統(tǒng)中活動(dòng),而服務(wù)器進(jìn)程可在第二計(jì)算機(jī)系統(tǒng)中活動(dòng),它們通過(guò)通信介質(zhì)相互通信,由此提供分布式功能并允許多個(gè)客戶(hù)機(jī)利用服務(wù)器的信息收集能力。按照此處所述的技術(shù)來(lái)利用的任何軟件對(duì)象可單獨(dú)提供或分布多個(gè)計(jì)算設(shè)備或?qū)ο笊?。在通信網(wǎng)絡(luò)1140或總線(xiàn)是因特網(wǎng)的網(wǎng)絡(luò)環(huán)境中,例如,計(jì)算對(duì)象1110、1112等可以是其他計(jì)算對(duì)象或設(shè)備1120、1122、11M、1126、11 等經(jīng)由諸如超文本傳輸協(xié)議(HTTP)之類(lèi)的多種已知協(xié)議中的任一種與其通信的Web服務(wù)器。計(jì)算對(duì)象1110、1112等作為服務(wù)器還可用作例如計(jì)算對(duì)象或設(shè)備1120、1122、11對(duì)、1126、11觀的客戶(hù)機(jī),這可以是如分布式計(jì)算環(huán)境的特性。示例性計(jì)算設(shè)備如上所述,有利的是,此處所描述的技術(shù)可適用于期望管理與計(jì)算系統(tǒng)相關(guān)聯(lián)的組件作用域的創(chuàng)建的任何設(shè)備。因此,可理解,構(gòu)想了結(jié)合各實(shí)施例使用的所有種類(lèi)的手持式、便攜式和其它計(jì)算設(shè)備和計(jì)算對(duì)象,即,在可利用計(jì)算應(yīng)用的任何地方。因此,以下在圖12中所述的通用遠(yuǎn)程計(jì)算機(jī)只是計(jì)算設(shè)備的一個(gè)示例。盡管并非所需,但各實(shí)施例可部分地經(jīng)由操作系統(tǒng)來(lái)實(shí)現(xiàn),以供設(shè)備或?qū)ο蟮姆?wù)開(kāi)發(fā)者使用和/或被包括在用于執(zhí)行此處所述的各實(shí)施例的一個(gè)或多個(gè)功能方面的應(yīng)用軟件內(nèi)。軟件可在諸如客戶(hù)機(jī)工作站、服務(wù)器或其他設(shè)備之類(lèi)的一個(gè)或多個(gè)計(jì)算機(jī)所執(zhí)行的諸如程序模塊之類(lèi)的計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述。本領(lǐng)域的技術(shù)人員將理解,計(jì)算機(jī)系統(tǒng)具有可用于傳遞數(shù)據(jù)的各種配置和協(xié)議,并且由此沒(méi)有特定配置或協(xié)議應(yīng)當(dāng)被認(rèn)為是限制性的。因此,圖12示出了其中可實(shí)現(xiàn)各實(shí)施例的一個(gè)或多個(gè)方面的合適的計(jì)算系統(tǒng)環(huán)境1200的一個(gè)示例,盡管如上所述,計(jì)算系統(tǒng)環(huán)境1200僅為合適的計(jì)算環(huán)境的一個(gè)示例,并非對(duì)使用范圍或功能提出任何限制。也不應(yīng)當(dāng)將計(jì)算系統(tǒng)環(huán)境1200解釋為對(duì)在示例性計(jì)算系統(tǒng)環(huán)境1200中所示的組件中的任何一個(gè)或其組合有任何依賴(lài)或要求。參考圖12,用于實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的示例性遠(yuǎn)程設(shè)備包括計(jì)算機(jī)1210形式的通用計(jì)算設(shè)備。計(jì)算機(jī)1210的組件可包括,但不限于,處理單元1220、系統(tǒng)存儲(chǔ)器1230、以及將包括系統(tǒng)存儲(chǔ)器的各種系統(tǒng)組件耦合到處理單元1220的系統(tǒng)總線(xiàn)1222。計(jì)算機(jī)1210通常包括各種計(jì)算機(jī)可讀介質(zhì),并且可以是可由計(jì)算機(jī)1210訪問(wèn)的任何可用介質(zhì)。系統(tǒng)存儲(chǔ)器1230可包括諸如只讀存儲(chǔ)器(ROM)和/或隨機(jī)存取存儲(chǔ)器(RAM)之類(lèi)的易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)。作為示例而非限制,系統(tǒng)存儲(chǔ)器1230還可包括操作系統(tǒng)、應(yīng)用程序、其他程序模塊、以及程序數(shù)據(jù)。用戶(hù)可通過(guò)輸入設(shè)備1240向計(jì)算機(jī)1210輸入命令和信息。監(jiān)視器或其他類(lèi)型的顯示設(shè)備也經(jīng)由諸如輸出接口 1250之類(lèi)的接口連接到系統(tǒng)總線(xiàn)1222。除監(jiān)視器以外,計(jì)算機(jī)還可包括諸如揚(yáng)聲器和打印機(jī)之類(lèi)的其他外圍輸出設(shè)備,它們可通過(guò)輸出接口 1250連接。計(jì)算機(jī)1210可使用到一個(gè)或多個(gè)其他遠(yuǎn)程計(jì)算機(jī)(諸如遠(yuǎn)程計(jì)算機(jī)1270)的邏輯連接在聯(lián)網(wǎng)或分布式環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)1270可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他常見(jiàn)網(wǎng)絡(luò)節(jié)點(diǎn)、或者任何其他遠(yuǎn)程媒體消費(fèi)或傳輸設(shè)備,并且可包括以上關(guān)于計(jì)算機(jī)1210所述的任何或全部元件。圖12所示的邏輯連接包括諸如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)之類(lèi)的網(wǎng)絡(luò)1272,但也可包括其他網(wǎng)絡(luò)/總線(xiàn)。這些聯(lián)網(wǎng)環(huán)境在家庭、辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見(jiàn)的。如上所述,盡管結(jié)合各種計(jì)算設(shè)備和網(wǎng)絡(luò)架構(gòu)描述了各示例性實(shí)施例,但基本概念可被應(yīng)用于其中期望管理代碼塊的作用域的任何網(wǎng)絡(luò)系統(tǒng)和任何計(jì)算設(shè)備或系統(tǒng)。而且,存在實(shí)現(xiàn)相同或相似功能的多種方法,例如適當(dāng)?shù)腁PI、工具箱、驅(qū)動(dòng)程序代碼、操作系統(tǒng)、控件、獨(dú)立或可下載軟件對(duì)象等,它們使得應(yīng)用和服務(wù)能夠使用此處提供的技術(shù)。由此,此處的各實(shí)施例從API (或其他軟件對(duì)象)的觀點(diǎn)以及從實(shí)現(xiàn)如此處描述的一個(gè)或多個(gè)實(shí)施例的軟件或硬件對(duì)象構(gòu)想。由此,此處所述的各實(shí)施例可具有完全采用硬件、部分采用硬件并且部分采用軟件、以及采用軟件的方面。本文中所使用的詞語(yǔ)“示例性”意味著用作示例、實(shí)例、或說(shuō)明。為避免疑惑,本文所公開(kāi)的主題不限于這些示例。另外,本文中作為“示例性”所述的任何方面或設(shè)計(jì)不一定被解釋為比其他方面或設(shè)計(jì)更優(yōu)選或有利,它也不意味著排除本領(lǐng)域普通技術(shù)人員已知的等效示例性結(jié)構(gòu)和技術(shù)。此外,在使用術(shù)語(yǔ)“包括”、“具有”、“包含”和其他類(lèi)似詞語(yǔ)的程度上,為避免疑惑,這些術(shù)語(yǔ)旨在以類(lèi)似于術(shù)語(yǔ)“包括”作為開(kāi)放的過(guò)渡詞的方式是包含性的而不排除任何附加或其他元素。如所述的,此處所述的各種技術(shù)可結(jié)合硬件或軟件,或在適當(dāng)時(shí)以?xún)烧叩慕M合來(lái)實(shí)現(xiàn)。如此處所使用的,術(shù)語(yǔ)“組件”、“系統(tǒng)”等同樣旨在指計(jì)算機(jī)相關(guān)實(shí)體,或者是硬件、硬件和軟件的組合、軟件或者是執(zhí)行中的軟件。例如,組件可以是,但不限于,在處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行碼、執(zhí)行的線(xiàn)程、程序和/或計(jì)算機(jī)。作為說(shuō)明,在計(jì)算機(jī)上運(yùn)行的應(yīng)用和計(jì)算機(jī)都可以是組件。一個(gè)或多個(gè)組件可駐留在進(jìn)程和/或執(zhí)行的線(xiàn)程內(nèi),并且組件可位于一個(gè)計(jì)算機(jī)上和/或分布在兩個(gè)或更多的計(jì)算機(jī)之間。如前所述的系統(tǒng)已經(jīng)參考若干組件之間的交互來(lái)描述??梢岳斫?,這些系統(tǒng)和組件可包括組件或指定的子組件、某些指定的組件或子組件和/或附加的組件,并且根據(jù)上述內(nèi)容的各種置換和組合。子組件還可作為通信地耦合到其他組件的組件來(lái)實(shí)現(xiàn),而不是被包括在父組件內(nèi)(分層)。另外,應(yīng)注意到一個(gè)或多個(gè)組件可被組合成提供聚集功能的單個(gè)組件,或被分成若干單獨(dú)的子組件,且諸如管理層等任何一個(gè)或多個(gè)中間層可被設(shè)置成通信耦合到這樣的子組件以便提供集成功能。此處所述的任何組件也可與一個(gè)或多個(gè)此處未專(zhuān)門(mén)描述的但本領(lǐng)域技術(shù)人員一般已知的其他組件進(jìn)行交互。
      鑒于以上所述的示例性系統(tǒng),參考各附圖的流程圖還可理解根據(jù)所述的主題實(shí)現(xiàn)的方法。盡管為了說(shuō)明簡(jiǎn)潔起見(jiàn),作為一系列框示出和描述的方法,但是應(yīng)當(dāng)理解,各實(shí)施例不僅僅限于框的次序,因?yàn)橐恍┛蚩梢耘c此處所描繪和描述的框不同的次序發(fā)生和/或與其他框并發(fā)地發(fā)生。盡管經(jīng)由流程圖示出了非順序或分支的流程,但可以理解,可實(shí)現(xiàn)達(dá)到相同或類(lèi)似結(jié)果的各種其他分支、流程路徑和框的次序。此外,并非全部所示的框都是實(shí)現(xiàn)下面所述的方法所必需的。除此處所述的各實(shí)施例以外,應(yīng)當(dāng)理解,可使用其他類(lèi)似實(shí)施例,或者可對(duì)所述實(shí)施例作出修改和添加以便執(zhí)行對(duì)應(yīng)實(shí)施例的相同或等效功能而不背離這些實(shí)施例。此外, 多個(gè)處理芯片或多個(gè)設(shè)備可共享此處所述的一個(gè)或多個(gè)功能的性能,并且類(lèi)似地,存儲(chǔ)可跨多個(gè)設(shè)備實(shí)現(xiàn)。因此,本發(fā)明不應(yīng)限于任何單個(gè)實(shí)施例,而是應(yīng)當(dāng)根據(jù)所附權(quán)利要求書(shū)的廣度、精神和范圍來(lái)解釋。
      權(quán)利要求
      1.一種程序組件作用域管理系統(tǒng),包括被配置成經(jīng)由一個(gè)或多個(gè)應(yīng)用模塊組件(110)來(lái)提供至少一個(gè)服務(wù)或提供對(duì)至少一個(gè)服務(wù)的訪問(wèn)的應(yīng)用組件(100);作用域生成器組件(120),所述作用域生成器組件被配置成從所述應(yīng)用組件接收與對(duì)應(yīng)于所述一個(gè)或多個(gè)應(yīng)用模塊組件(110)中的所選應(yīng)用模塊組件的所請(qǐng)求的作用域相關(guān)的信息,以及創(chuàng)建涉及所選應(yīng)用模塊組件的各依賴(lài)關(guān)系的合成容器,創(chuàng)建所請(qǐng)求的作用域,以及響應(yīng)于從所述應(yīng)用組件接收到的信息來(lái)將所請(qǐng)求的作用域分配給所述合成容器。
      2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述一個(gè)或多個(gè)應(yīng)用模塊組件(110)中的至少一部分對(duì)應(yīng)于應(yīng)用窗口。
      3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所請(qǐng)求的作用域?qū)?yīng)于根據(jù)所述至少一個(gè)服務(wù)來(lái)提交一個(gè)或多個(gè)請(qǐng)求的實(shí)體。
      4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述作用域生成器組件(120)包括作用域分析組件(502),所述作用域分析組件被配置成驗(yàn)證所請(qǐng)求的作用域的有效性,以及在所請(qǐng)求的作用域被確定為無(wú)效的情況下阻止創(chuàng)建所述合成容器。
      5.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述作用域分析組件(502)還可被配置成獲取關(guān)于與所選應(yīng)用模塊組件相關(guān)聯(lián)的作用域的信息,以及至少部分地通過(guò)確定所請(qǐng)求的作用域是否可從與所述應(yīng)用模塊組件相關(guān)聯(lián)的作用域訪問(wèn)來(lái)驗(yàn)證所請(qǐng)求的作用域的有效性。
      6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述作用域生成器組件(120)與對(duì)應(yīng)于所選應(yīng)用模塊組件的父應(yīng)用模塊組件的合成容器相關(guān)聯(lián)。
      7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述作用域生成器組件(120)還被配置成至少部分地基于定義所述一個(gè)或多個(gè)應(yīng)用模塊組件(110)的靜態(tài)類(lèi)屬參數(shù)來(lái)創(chuàng)建所請(qǐng)求的作用域。
      8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述作用域生成器組件(120)包括被配置成創(chuàng)建所述合成容器的合成容器設(shè)置組件;其中,所述作用域生成器組件創(chuàng)建所請(qǐng)求的作用域并將所請(qǐng)求的作用域分配給由所述合成容器設(shè)置組件創(chuàng)建的所述合成容器。
      9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述應(yīng)用組件(100)還被配置成經(jīng)由與所述作用域生成器組件(120)相關(guān)聯(lián)的應(yīng)用程序編程接口(API)向所述作用域生成器組件(120)提交關(guān)于所請(qǐng)求的作用域的信息。
      10.一種用于管理計(jì)算系統(tǒng)中的組件作用域的方法,包括從與一個(gè)或多個(gè)應(yīng)用模塊相關(guān)聯(lián)的應(yīng)用獲取(900)與該一個(gè)或多個(gè)應(yīng)用模塊的所請(qǐng)求的作用域相關(guān)的信息;創(chuàng)建(910)涉及所述一個(gè)或多個(gè)應(yīng)用模塊的各依賴(lài)關(guān)系的合成容器;為所述一個(gè)或多個(gè)應(yīng)用模塊創(chuàng)建(920)所請(qǐng)求的作用域;以及將所請(qǐng)求的作用域與所述合成容器相關(guān)聯(lián)(930)。
      11.如權(quán)利要求10所述的方法,其特征在于,還包括驗(yàn)證所請(qǐng)求的作用域的有效性;其中所述創(chuàng)建(920)所請(qǐng)求的作用域包括在所請(qǐng)求的作用域無(wú)效的情況下放棄創(chuàng)建所請(qǐng)求的作用域。
      12.如權(quán)利要求10所述的方法,其特征在于,所述創(chuàng)建(920)所請(qǐng)求的作用域包括至少部分地基于類(lèi)屬地定義所述一個(gè)或多個(gè)應(yīng)用模塊的靜態(tài)參數(shù)來(lái)創(chuàng)建所請(qǐng)求的作用域。
      13.如權(quán)利要求10所述的方法,其特征在于,所述獲取(900)包括經(jīng)由作用域控制應(yīng)用程序編程接口(API)調(diào)用從所述應(yīng)用獲取與所請(qǐng)求的作用域相關(guān)的信息。
      14.如權(quán)利要求10所述的方法,其特征在于所述創(chuàng)建(910)合成容器包括獨(dú)立于所述應(yīng)用創(chuàng)建所述合成容器;以及所述創(chuàng)建(920)所請(qǐng)求的作用域包括獨(dú)立于所述應(yīng)用創(chuàng)建所請(qǐng)求的作用域。
      15.如權(quán)利要求10所述的方法,其特征在于,還包括從所述應(yīng)用獲取(1020)與至少一個(gè)要被終止的作用域相關(guān)的信息;以及終止(1030)所述至少一個(gè)要被終止的作用域。
      全文摘要
      本發(fā)明公開(kāi)了組件作用域的創(chuàng)建和終止。本公開(kāi)涉及計(jì)算系統(tǒng)中的組件作用域的創(chuàng)建和管理。如此處所描述的,一種自動(dòng)化作用域生成機(jī)制以應(yīng)用無(wú)關(guān)的方式建立應(yīng)用模塊及其作用域和依賴(lài)關(guān)系,從而對(duì)對(duì)應(yīng)的應(yīng)用隱藏作用域管理的復(fù)雜性。如此處另外描述的,自動(dòng)化作用域生成和管理技術(shù)能夠在諸如文檔編輯器和網(wǎng)絡(luò)請(qǐng)求處理器等各種應(yīng)用類(lèi)型的上下文中實(shí)現(xiàn)。此外,此處描述了作用域管理器可用來(lái)實(shí)現(xiàn)基于作用域分層結(jié)構(gòu)分析和/或其他因素的對(duì)作用域有效性的靜態(tài)檢驗(yàn)的各種技術(shù)。
      文檔編號(hào)G06F9/46GK102567092SQ20111041805
      公開(kāi)日2012年7月11日 申請(qǐng)日期2011年12月7日 優(yōu)先權(quán)日2010年12月8日
      發(fā)明者H·V·德奧利韋拉 申請(qǐng)人:微軟公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1