av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Android 簡(jiǎn)單服務(wù)定位器模式實(shí)現(xiàn)

瀏覽:2日期:2022-09-20 10:22:10

依賴注入(Dependency Injection)和服務(wù)定位器(Service Locator)是實(shí)現(xiàn)控制反轉(zhuǎn)(Inversion of Control)的兩種主要手段。

Android的主流依賴注入框架有:Dagger 和 Kion

這些依賴注入框架都感覺(jué)比較重。

服務(wù)定位器比如少見(jiàn),這里提供一個(gè)一個(gè)簡(jiǎn)單的服務(wù)定位器模式實(shí)現(xiàn)。

引入

項(xiàng)目地址:github.com/czy1121/ser…

repositories { maven { url 'https://gitee.com/ezy/repo/raw/android_public/'}} dependencies { implementation 'me.reezy.jetpack:servicelocator:0.4.0' }API

// 獲取實(shí)例inline fun <reified T> resolve(name: String = T::class.java.name): T?// 注冊(cè)為單例inline fun <reified T> singleton(name: String = T::class.java.name, crossinline block: () -> T)// 注冊(cè)為工廠inline fun <reified T> factory(name: String = T::class.java.name, crossinline block: () -> T)使用

單例,每次resolve獲得的都是同一實(shí)例

class SomeService { fun doSomething() { }}// 注冊(cè) singleton { SomeService()}// 獲取val service = resolve<SomeService>()

具名單例

class NamedService(val name: String) { fun doSomething() { }}// 注冊(cè) singleton('a') { NamedService('aaa')}singleton('b') { NamedService('bbb')}// 獲取 val serviceA = resolve<NamedService>('a')val serviceB = resolve<NamedService>('b')

工廠,每次resolve都會(huì)產(chǎn)生新實(shí)例

class SomeService { fun doSomething() { }}// 注冊(cè) factory { SomeService()}// 獲取,每次resolve都會(huì)產(chǎn)生新實(shí)例val service1 = resolve<SomeService>() val service2 = resolve<SomeService>()

具名工廠

class NamedService(val name: String) { fun doSomething() { }}// 注冊(cè) factory('a') { NamedService('aaa')}factory('b') { NamedService('bbb')}// 獲取// A1 與 A2 是使用同一工廠產(chǎn)生的不同實(shí)例// A1 與 B1 是使用不同工廠產(chǎn)生的不同實(shí)例val serviceA1 = resolve<NamedService>('a')val serviceA2 = resolve<NamedService>('a')val serviceB1 = resolve<NamedService>('b')val serviceB2 = resolve<NamedService>('b')

以上就是Android 簡(jiǎn)單服務(wù)定位器模式實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于Android 簡(jiǎn)單服務(wù)定位器模式的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 精品少妇 | 成人国产精品免费观看 | 国产日韩视频 | 91亚洲一区 | 久久精品伊人 | 日日夜夜狠狠操 | 亚洲视频色| 成年人av | 91精品视频在线 | 天天干夜夜骑 | 一区二区三区免费观看 | 黄色免费观看网站 | 99久久久久久 | 可以免费看黄的网站 | 中文字幕自拍偷拍 | 日韩精品一区在线观看 | 成人在线一区二区 | 久久免费毛片 | 亚洲iv一区二区三区 | 亚洲欧洲在线观看 | 视频爱爱免费视频爱爱太爽 | 国产精品久久久国产盗摄 | 国产视频一区二区三区四区 | 免费毛片观看 | 国产精品美女久久 | av基地网 | 天天舔天天干 | 99亚洲精品 | 视频一区在线观看 | 日一日操一操 | 亚洲综合激情网 | 激情91| 狠狠干狠狠操 | 亚洲成人毛片 | 日韩小视频在线观看 | 一道本在线观看 | 日韩午夜激情 | 日韩免费观看 | 亚洲永久精品视频 | 色羞羞 | 亚洲视频在线观看一区 |