일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Functional Programming
- r
- 추상팩토리패턴
- builderPattern
- Observer Pattern
- 팩토리 메소드
- El
- ㅓ
- 옵저버 패턴
- designPattern
- 디자인패턴
- 싱글톤
- 코틀린
- Kotlin
- Design Pattern
- 디자인패턴 #
- PrototypePattern
- Singleton
- 함수형프로그래밍
- 프로토타입 패턴
- 빌터패턴
- F
- factory method
- ㅋㅁ
- a
- 추상 팩토리
- Abstract Factory
- Today
- Total
목록Koin (6)
오늘도 더 나은 코드를 작성하였습니까?
Koin은 limit lifetime에 연결된 인스턴스를 정의할 수 있는 간단한 API를 제공합니다. What is a scope? Scope는 객체가 존재하는 고정된 기간 또는 메서드 호출입니다. Scope는 동일한 객체의 상태가 지속되는 시간으로 생각하는 것. Scope Context가 종료되면 해당 Scope 아래에 바인딩된 객체를 다시 주입할 수 없습니다(컨테이너에서 삭제됨) Scope definition 기본적으로 Koin에는 3가지 종류의 Scope가 있습니다. single, 전체 컨테이너 수명 동안 지속되는 개체를 만듭니다(삭제할 수 없음). factory 매번 새로운 객체를 생성합니다. 짧은 라이브. 컨테이너에 지속성이 없습니다(공유할 수 없음) scoped 연결된 scoped 수명에 영구..
모든 definition 에서 injection parameter 를 사용할 수 있습니다. definition에서 injection하고 사용할 parameter를 정한다. Passing values to inject class Presenter(val a : A, val b : B) val myModule = module { single { params -> Presenter(a = params.get(), b = params.get()) } } parameter는 parametersOf() 함수를 사용하여 definition로 전달됨. class MyComponent : View, KoinComponent { val a : A ... val b : B ... // inject this as View v..
Koin은 module 및 definition을 설명하는 데 도움이 되는 DSL이며, definition를 확인하는 container입니다. Koin Component는 container 외부에서 인스턴스를 검색하는 API입니다. KoinComponent 인터페이스는 Koin에서 직접 인스턴스를 검색하는 데 도움이 됩니다. 주의! 클래스가 Koin container API에 연결됩니다. module에서 선언할 수 있는 클래스에서는 사용하지 않고, 생성자 주입을 선호 즉, 최종적으로 생성자 주입이 아닌 필드주입을 해야하는 클래스에서 Koin Componet 인터페이스를 구현한다. Create a Koin Component 클래스에 Koin 기능을 사용할 수 있는 기능을 제공하려면 KoinComponent ..
모듈이란? What is a module? 코인 모듈은 definition를 모으는 "공간"입니다. module{ ... }로 선언 val myModule = module { // Your definitions ... } 여러 모듈 사용하기 Using several modules component가 반드시 동일한 모듈에 있을 필요는 없습니다. 모듈은 definition 구성하는 데 도움이 되는 논리적 공간이며 다른 모듈의 정의에 의존할 수 있습니다. definition는 lazy되었다가, component가 요청할 때만 주입됩니다 // ComponentB