C 讀Autofac原始碼筆記(1)

2022-03-09 22:48:18 字數 636 閱讀 3299

最近在看autofac的原始碼。

autofac據說是.net中最快的ioc框架,具體沒有實驗,於是看看autofac具體是怎樣例項化實體。

如上圖所示,autofac使用的是表示式樹來建立實體。

expression tree建立實體的效能比activator.createinstance要高。

網上有人做過測試,這裡我將鏈結貼在此activator.createinstance與expressiontree建立實體效能對比

我們再來看看,autofac中建構函式注入是如何實現的。

看下面這張

image.png

這段**是生成實體前,先根據實體型別獲取構造函式引數,並嘗試獲取引數的值。那引數的值是怎麼獲取的呢。再看下面這張圖:

這個方法,是根據引數型別,到註冊的元件集合中獲取型別相同的實體。最終還是用上面的表示式樹,將引數傳入實體中。

未完待續...

讀Muduo原始碼筆記 1

物件銷毀時出現的競態條件 執行緒安全的類 簡單的執行緒安全類 class counter int value const int getandincrease private int value mutable mutexlock mutex int counter value const int ...

讀vue原始碼筆記 1

shared util.js 1.hasown var hasownproperty object.prototype.hasownproperty function hasown obj,key extend export function extend to object,from object...

筆記4 讀原始碼

好吧,截圖都沒了。就這把,內容很具體,跟著操作完全沒問題。系統設定中可看到關於手機容量的資訊,我們只要找到setting的原始碼,就能找到android系統是怎麼做到的。注意adt安裝目錄下的sdk sources目錄裡並不是android系統的原始碼,而是用到的jar包的原始碼。原始碼資料夾 bu...