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

您的位置:首頁技術文章
文章詳情頁

Android 簡單服務定位器模式實現

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

依賴注入(Dependency Injection)和服務定位器(Service Locator)是實現控制反轉(Inversion of Control)的兩種主要手段。

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

這些依賴注入框架都感覺比較重。

服務定位器比如少見,這里提供一個一個簡單的服務定位器模式實現。

引入

項目地址: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

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

單例,每次resolve獲得的都是同一實例

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

具名單例

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

工廠,每次resolve都會產生新實例

class SomeService { fun doSomething() { }}// 注冊 factory { SomeService()}// 獲取,每次resolve都會產生新實例val service1 = resolve<SomeService>() val service2 = resolve<SomeService>()

具名工廠

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

以上就是Android 簡單服務定位器模式實現的詳細內容,更多關于Android 簡單服務定位器模式的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
主站蜘蛛池模板: 国产亚洲一区二区三区 | 亚洲欧美综合网 | 亚洲一二三区不卡 | 久久999 | 四虎永久免费地址 | 天天干狠狠 | 久久国产精品视频 | 日韩精品免费视频 | 国产99免费| 亚洲午夜av久久乱码 | 四虎影院在线观看免费视频 | 超碰导航| 精品在线一区二区 | 91精品无人区卡一卡二卡三 | 在线观看中文字幕视频 | 狠狠操狠狠色 | 日韩av福利在线观看 | 一区二区三区 在线 | 亚洲激情一区二区 | 永久看片| 日韩欧美手机在线 | 亚洲欧美在线观看 | 久久国产一区二区 | 老司机狠狠爱 | 国产91av视频 | 国产亚洲精品精品国产亚洲综合 | 嫩草一区二区三区 | 精品久久久久久久 | 久久精品99国产精品日本 | 成人福利网 | 国产一区二区高清在线 | 不卡一区二区三区四区 | 国产日韩在线观看一区 | 日韩精品999 | 欧美一区2区三区4区公司二百 | 国产一区二区激情视频 | 久久久久久99 | 中文字幕亚洲精品 | 狠狠干av | 91av在线不卡| a天堂在线|