C# NGWS runtime虛擬對象系統
C# NGWS runtime虛擬對象系統(VOS)
你知道NGWS runtime如何工作嗎?了解它工作的技術背景以及為什么它要這樣工作?這節都是關于C# NGWS runtime虛擬對象系統的(VOS)。
以下為在VOS中形成聲明、使用和管理類型模型時,NGWS runtime的規則。在VOS背后的思想是建立一個框架,在執行代碼時不能犧牲性能,允許交叉語言集成和類型安全。
我提到的框架是運行時架構的基礎。為了幫助你更好地了解它,我將它勾出四個區域。當開發C#應用程序和組件時,理解它們很重要。
VOS類型系統——提供豐富的類型系統,它打算支持全面編程語言的完全實施。
元數據——描述和引用VOS類型系統所定義的類型。元數據的永久格式與編程語言無關,但是,元數據拿自己當作一種互換機制(nterchange mechanism)來使用,這種互換是在在工具和NGWS的虛擬執行系統之間。
通用語言規范(CLS)——CLS定義了VOS中類型的子集,也定義了常規的用法。如果一個類庫遵守CLS的規則,它確保類庫可以在其它所有能實現CLS的編程語言上使用。
虛擬執行系統(VES)——這是VOS實時的實現。VES負責裝入和執行為NGWS運得時編寫的程序。
這四個部分一起組成了NGWS runtime架構。每一部分在下面小節中描述。
C# NGWS runtime虛擬對象的類型系統
VOS類型系統提供豐富的類型系統,它打算支持多種編程語言的完全實施。所以,VOS必須都支持面向對象的語言和過程編程語言。
現在,存在著很多種近似但有點不兼容的類型。就拿整型當例子,在VB中,它是16位長,而在C++中,它是32位。還有更多的例子,特別是用在日期和時間以及數據庫方面的數據類型。這種不兼容使應用程序的創建和維護不必要地復雜化,尤其當程序使用了多種編程語言時。另一個問題是,因為編程語言之間存在著一些差別,你不能在一種語言中重用另一種語言創建的類型。(COM用二進制標準接口部分地解決了這個問題)。 當今代碼重用肯定是有限的。
發布應用程序的最大障礙是各種編程語言的對象模型不統一。幾乎每一方面都存在著差異:事件、屬性、永久保存(persistence)等等。
VOS這里將改變 這種現象 .VOS定義了描述值的類型,并規定了類型的所有值所必須支持的一條合約。由于前面提到的支持面向對象和過程編程語言,就存在著兩種值和對象。
對于值,類型存儲于表述(representation)中,同樣操作也在其中實行。對象更強大因為它顯式地存于表述中。每一個對象都有一個區別于其它對象的識別號。支持不同的VOS類型在第四章 "C#類型"中提出。
【編輯推薦】