国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

《Essential .Net》讀書筆記 - Chapter 1

2024-07-10 12:56:18
字體:
來源:轉載
供稿:網友

chapter 1:

1.         組件技術主要強調的是獨立開發和部署程序之間的協定(contract,就是說好怎么做就要怎么做)。com是m$首次嘗試將這些約定規范化。com出現之前,約定僅僅表現為簡單的函數入口,于是com從以前的世界跨出了一大步,是個重大的進步,它將動態加載代碼和類型系統以相當一致的方式有機地結合在一起。

2.         com是編程模型,也是支持的平臺技術,但是它缺乏一個穩固的平臺技術,因此,com技術面臨終結。

3.         對于約定描述,m$定義和 支持的com支持格式不是一個,而是兩個:接口定義語言(interface definition language,idl)和類型庫(type library,tlb)文件。但是無法確定這兩種格式誰是“權威”或“標準”,這是主要問題一。

4.         還有,com缺乏擴展性。mit小組上世紀90年代初就開始研究了一種新的編程模型、它基于現在被稱為“aop(面向方面編程)”的編程思想。后來的ejb就是這個演變而來的。遺憾的是,mts小組沒有依賴于任何一個com約定格式。隨著vb的推出,mts小組的研究成果宣告死亡。

5.         com組件約定是基于類型描述的。這個約定是物理的(physical),基于二進制的,因此對組件間的調用方式要求非常嚴格。最后組件的約定最終只是在內存中形成堆棧結構的協議,根本沒有描述語義的內容。這樣的話,版本控制也是非常大的問題了。精確要求太高能產生高效的代碼,但是也就出現了難以接受的不可靠性。

6.         為了處理com約定及其定義所引發的問題,com小組和mts小組決定開發一個新的組件平臺,其命名:com3 à cor(component object runtime) à urt(universal runtime) à clr(common language runtime)。

7.         com和clr的唯一共同點:組件間的約定是基于類型的。

8.         clr中組件之間的約定:使用“元數據(metadata)”。元數據是機器可讀的(machine-readable),而且形成規范。而且可以使用“定制屬性(custom attribute)”可以輕易擴展元數據(其實在《applied m$ .net framework programming》——后稱《applied》——一書中,richter建議把這個理解為一串被寫入的被序列化的二進制數據,需要得到時再反序列化出來)。

9.         clr約定本身是被描述成為類型的邏輯結構。clr不會察看內存中的表現形式,事實上內存中的內容直到運行時才被首次加載,然后再計算成員的實際地址/偏移量等。(我的理解是:這種約定是被“讀出來”的,不是被“判斷出來”的,就好比直接c&p文本而不是拿著“紙板書”再ocr出來,ocr要求文本的精度很高。其實這個理解也蠻牽強的l)。由于這樣的“載入延遲”,這樣的解析必須到實際部署時才能判斷,clr為了解決這一點,讓組件幾乎不包含機器碼,使用公共中間語言(common intermediate language)來做到這一點(也被稱為il,msil)。

10.      由于把本地代碼的生成推遲到了實際運行階段,因此對于ia-32/pentium架構到ia-64/itanium架構發展,clr顯得意義非凡(其余諸如可以得到“針對機器(指令集)”的優化等可以再《applied》一書中得到解釋)。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铁岭县| 广平县| 子长县| 丰原市| 洛隆县| 张家港市| 固阳县| 桂平市| 沙河市| 大英县| 岫岩| 韶山市| 库尔勒市| 莫力| 桂阳县| 奉新县| 湖北省| 交城县| 日土县| 东至县| 武山县| 遂溪县| 东乡族自治县| 汤原县| 阳西县| 八宿县| 凤冈县| 开远市| 中宁县| 海淀区| 卢湾区| 扶风县| 富源县| 英山县| 珲春市| 师宗县| 麻江县| 蒲城县| 伊宁县| 鹿泉市| 乡宁县|