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