學習容器源碼之前必須要學會另外一個設(shè)計模式注冊樹模式,這種設(shè)計模式也是容器的一個核心了。
二、注冊樹模式
為什么在這里說這個注冊樹模式,因為在框架中注冊樹模式就是一個主導位置,所以必須去了解它!
那什么是注冊樹模呢!
-
注冊樹模式就是將對象實例注冊到一顆樹上(這里的樹可不是真的樹?。【褪亲缘揭粋€全局的屬性里邊) -
然后可以通過內(nèi)部方法從全局的樹上獲取對應(yīng)的對象實例。
這樣說的話肯定也不能更好的理解,接下來咔咔帶大家看一個簡單的案例來簡單的了解一下。
一個注冊樹模式需要的東西就是四個,注冊樹的池子,將對象掛載到注冊池里,從注冊池里獲取對象,從注冊池里卸載對象。
如下圖是咔咔寫的一個簡單的注冊樹模式。
代碼如果看不懂的就需要去補補基礎(chǔ)了哈!
接下來在到同一目錄創(chuàng)建一個TestTree文件
來到控制器測試寫的注冊樹模式是否有問題
在做測試的時候一定要注意命名空間問題哈!這里的kaka目錄是之前在類的自動加載哪里配置的,如有不會的可以去第一期文章查看。
這里就相當于先把TestTree這個類實例化出來
然后使用注冊樹模式把這個實例注冊到object樹池子中
最后使用get方式將這個類獲取出來就可以直接調(diào)用TestTree中的方法了。
最后看一下最終打印結(jié)果,結(jié)果就是TestTree類中g(shù)etTreeContent方法的返回值。
注冊樹模式就是以上咔咔說明的這些內(nèi)容,就是不去針對源碼學習,這些內(nèi)容也是我們必須要去學會使用的。
堅持學習、堅持寫博、堅持分享是咔咔從業(yè)以來一直所秉持的信念。希望在偌大互聯(lián)網(wǎng)中咔咔的文章能帶給你一絲絲幫助。我是咔咔,下期見。