앞선 글에서 RxJava에서는 발행자와 구독자가 존재하며, 발행자는 데이터를 발행하고 구독자는 발행한 데이터를 처리하는 동작을 한다고 하였다. 여기서 발행자는 발행하는 방식에 따라 대분류 두개로 나뉘게 되는데 바로 Cold Observable과 Hot Observable이다. Observable을 직역해보면 "관찰할 수 있는" 이라는 말이 되는데 즉 발행자와 같은 말이다. 그렇다면 Cold Observable과 Hot Observable의 차이는 무엇일까? 아래에서 알아보도록 하자. 예제 링크: https://github.com/seyoungcho2/RxJavaExample 경로 : example/Example2_ColdObservable.kt, example/Example3_HotObservable.k..
분류 전체보기
예제 링크: https://github.com/seyoungcho2/RxJavaExample 경로 : example/example1 명령형 프로그래밍과 반응형 프로그래밍 명령형 프로그래밍 명령형 프로그래밍은 컴퓨터에게 무엇을 하라고 명령하는 것이다. 예를 들어 1, 2, 3을 출력하는 명령형 프로그램을 만든다고 해보자. 그럴 경우 우리는 다음과 같이 컴퓨터에 명령을 내린다. println("count : 1") println("count : 2") println("count : 3") 명령을 받은 컴퓨터는 명령을 받아 순서대로 출력값을 내어놓는다. 반응형 프로그래밍 그렇다면 이것을 반응형 프로그래밍으로 만들어보면 어떻게 될까? 먼저 다음과 같은 PublishSubject을 이용한 데이터 발행자(Publi..
예제 링크 : https://github.com/seyoungcho2/KoinExample 예제 브랜치명 : example/example5 *브랜치 필수 확인 의존성 제공 메서드 single과 factory single은 한 번만 객체를 생성하고 factory는 호출 될때마다 객체를 생성한다. 다음과 같은 Student("student-kim")은 single로 제공되고 Student("student-cho")는 factory로 제공되는 상황을 가정해보자. module { single(named("kim")) { Student("student-kim") } factory(named("cho")) { Student("student-cho") } } 이때 다음과 같이 각각에 대한 의존성을 두 번씩 주입했다고..
생성자 주입이 달라야 하는 이유 제공된 객체가 다른 객체의 생성자에 주입되어야 한다고 해보자. class Student(val name: String) class Teacher(val name: String, val teachingStudent: Student) 이럴 경우 Teacher은 Student를 주입받아야 한다. 이때 우리는 다음과 같이 get()을 이용해 제공된 객체를 주입받을 수 있다. single { Student("student-kim") } single { Teacher("teacher-cho", get()) } get()의 역할 예제 링크 : https://github.com/seyoungcho2/KoinExample 예제 브랜치명 : example/example3 *브랜치 필수 확인..
예제 링크 : https://github.com/seyoungcho2/KoinExample 예제 브랜치명 : example/example2 *브랜치 필수 확인 seyoungcho2/KoinExample Koin Usage Example. Contribute to seyoungcho2/KoinExample development by creating an account on GitHub. github.com 같은 Type의 객체 여러개 주입 시 문제점 같은 타입의 객체가 두개이 이상이면 어떤 객체를 주입해야 할지 구분하는데 문제가 생긴다. 예를 들어 아래와 같은 주입을 한다고 해보자 class MainActivity : AppCompatActivity() { override fun onCreate(saved..