일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 팩토리 메소드
- 코틀린
- Design Pattern
- F
- android designsystem
- material3
- 싱글톤
- Abstract Factory
- 빌터패턴
- Singleton
- El
- 추상 팩토리
- Observer Pattern
- ㅋㅁ
- Kotlin
- 안드로이드 디자인시스템
- factory method
- designPattern
- 디자인패턴 #
- Functional Programming
- r
- builderPattern
- 추상팩토리패턴
- 프로토타입 패턴
- 함수형프로그래밍
- 디자인패턴
- 옵저버 패턴
- ㅓ
- compose
- PrototypePattern
- Today
- Total
목록전체 글 (333)
오늘도 더 나은 코드를 작성하였습니까?

- MediatorLiveData는 LiveData의 서브클래스 이다. - 클래스를 사용하여 여러 LiveData 소스를 병합가능하다. - MediatorLiveData 객체의 관찰자는 원본 LiveData 소스 객체가 변경될 때마다 호출됩니다. - 로컬 데이터베이스나 네트워크에서 업데이트할 수 있는 LiveData 객체가 UI에 있다면 다음 소스를 MediatorLiveData 객체에 추가하면 된다. 데이터베이스에 저장된 데이터와 연결된 LiveData 객체 네트워크에서 액세스하는 데이터와 연결된 LiveData 객체 - 소스에서 업데이트를 받기 위해 MediatorLiveData 객체만 관찰하면 된다. 예시) 단순히 2개의 라이브데이터를 MediatorLiveData 연결하면 2개중 1개가 변하면 M..

관찰자에게 LiveData 객체를 전달하기 전에 객체에 저장된 값을 변경하고 싶거나 다른 객체의 값에 따라 다른 LiveData인스턴스를 반환해야 하는 경우가 있습니다. 즉, 변경된 LiveData를 observer에게 전달하기 전에 데이터를 가공하고 싶거나, 다른 LiveData를 만들고 싶다면 Transformations을 이용합니다. 앱의 모든 계층에서 LiveData를 사용하는 일반적인 흐름도 LiveData 객체에 저장된 값에 함수를 적용하고 결과를 다운스트림으로 전파합니다. View가 DESTROY 된 경우, View의 수명주기가 연속된 관찰자(Observers)로 다운 스트림으로 전파되므로 이러한 subscriptions을 해체할 필요가 없습니다. 구성 요소 간에 데이터를 전달하려면 매핑 및..

컬렉션 함수를 연쇄하면서 매 단계마다 계산 중간결과를 새로운 컬렉션에 임시로 담는 건 너무 비효율적이다. 시퀀스를 사용하면 중간 임시 컬렉션을 사용하지 않고도 컬렉션 연산을 연쇄할 수 있다. fun main() { val people = listOf( Person("Alice", 27), Person("Bob", 31), Person("kim", 19), Person("hong", 25), Person("park", 12)) people.map { it.name }.filter { it.startsWith("A") } people.asSequence() .map { it.name } .filter { it.startsWith("A") } .toList() } 원소가 적은 경우는 큰 차이가 없겠지만 원소가..
- 함수형 프로그래밍 스타일을 사용하면 컬렉션을 다룰 때 매우 편리하다 - 많은 작업에 라이브러리 함수를 활용하고 코드가 간결해진다. 필수적인 함수: filter와 map 컬렉션을 활용할 때 기반이 되는 함수이며 대부분의 컬렉션 연산을 이 두 함수를 통해 표현 가능하다 filter 함수 - 컬렉션은 이터레이션 하면서 주어진 람다에 각 원소를 넘겨서 람다가 true를 반환하는 원소만 모은다. - predicate를 만족하는 새로운 컬렉션을 반환한다. - 원치 않는 원소를 제거한다 하지만 filter는 원소를 변환할 수는 없다 - 원소를 변환하려면 map함수를 사용한다. fun main() { val people = listOf(Person("kim",15), Person("hong", 18), Person..