일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ㅋㅁ
- Observer Pattern
- 옵저버 패턴
- 디자인패턴 #
- Abstract Factory
- 디자인패턴
- Design Pattern
- PrototypePattern
- 추상팩토리패턴
- a
- F
- 추상 팩토리
- designPattern
- ㅓ
- 빌터패턴
- factory method
- 팩토리 메소드
- Kotlin
- builderPattern
- El
- Singleton
- 프로토타입 패턴
- Functional Programming
- r
- 싱글톤
- 코틀린
- 함수형프로그래밍
- Today
- Total
목록Android Jetpack Architecture (70)
오늘도 더 나은 코드를 작성하였습니까?
UI 이벤트는 UI 레이어에서 UI 또는 ViewModel로 처리해야 하는 작업입니다. 가장 일반적인 이벤트 유형은 사용자 이벤트입니다. 사용자는 화면 탭하기 또는 동작 생성과 같은 앱과의 상호작용을 통해 사용자 이벤트를 생성합니다. 그러면 UI에서 onClick() 리스너와 같은 콜백을 소비하여 이러한 이벤트를 사용합니다. 핵심 용어: UI: 사용자 인터페이스를 처리하는 뷰 기반 또는 Compose 코드입니다. UI 이벤트: UI 레이어에서 처리해야 하는 작업입니다. 사용자 이벤트: 사용자가 앱과 상호작용할 때 생성하는 이벤트입니다. ViewModel은 일반적으로 특정 사용자 이벤트의 비즈니스 로직을 처리합니다 (예: 사용자가 일부 데이터를 새로고침하는 버튼을 클릭하는 경우). ViewModel은 보통..
Paging 라이브러리를 사용하면 ViewModel에 Flow을 대신 노출할 수 있습니다 PagingData는 로드된 데이터를 래핑하고 Paging 라이브러리가 추가 데이터를 가져올 시기를 결정하는 데 도움을 주는며 동일한 페이지를 두 번 요청하지 않도록 합니다. PagingData를 구성하기 위해 PagingData를 앱의 다른 레이어에 전달하는 데 사용할 API에 따라 Pager 클래스의 여러 빌더 메서드 중 하나를 사용합니다. Kotlin Flow - Pager.flow 사용 LiveData - Pager.liveData 사용 RxJava Flowable - Pager.flowable 사용 RxJava Observable - Pager.observable 사용 Repository /** * Repo..
페이징을 해야하는 이유 - ViewModel은 메모리에 로드된 모든 항목을 items StateFlow에 저장한다, 그런데 데이터가 너무 커지면 성능에 영향을 줄 수 있다는 의미이기에 매우 중요한 문제입니다. - 데이터가 변경되었을 때 List에서 하나 이상 업데이트하는 작업은 List가 클수록 커질수록 비용이 더 많이 생긴다. Paging 라이브러리는 위 문제를 해결하는 동시에 앱에서 점진적으로 데이터를 가져오는(페이지로 나누기) 일관된 API를 제공 Paging 라이브러리의 핵심 구성요소 PagingSource - 특정 페이지 쿼리의 데이터 청크를 로드하는 기본 클래스입니다. - 데이터 레이어의 일부이며 일반적으로 DataSource 클래스에서 노출되고 이후에 ViewModel에서 사용하기 위해 Re..
원칙 - 관심사의 분리(컴퓨터 공학 디자인 원칙, 계층화된 디자인) 구별된 부분으로 분리시키는 디자인 원칙으로, 각 부문은 개개의 관심사를 해결 - 단일 책임의 원칙(객체지향 프로그래밍의 원칙) 클래스 변경하려는 단 하나 이유만을 가져야 한다고 결론 - Data Model에서 UI 도출 데이터 모델(UI 요소 및 기타 구성요소와 독립적)에서 UI를 도출해야 한다는 것 구조화 계층 UI Layer (표현 계층) 화면에 애플리케이션 데이터를 표시하는 것. 사용자 상호작용(예: 버튼 누르기) 또는 외부 입력(예: 네트워크 응답)으로 인해 데이터가 변할 때마다 변경사항을 반영하도록 UI가 업데이트된다 UI elements 화면에 데이터를 렌더링하는 UI 요소. 이러한 요소는 View(xml) 또는 Jetpack..