일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kotlin
- El
- android designsystem
- 팩토리 메소드
- builderPattern
- Observer Pattern
- Design Pattern
- Singleton
- 디자인패턴 #
- 프로토타입 패턴
- Abstract Factory
- ㅋㅁ
- 추상팩토리패턴
- 빌터패턴
- 추상 팩토리
- material3
- 안드로이드 디자인시스템
- 디자인패턴
- ㅓ
- factory method
- compose
- r
- designPattern
- 옵저버 패턴
- PrototypePattern
- 싱글톤
- Functional Programming
- F
- 코틀린
- 함수형프로그래밍
- Today
- Total
목록전체 글 (333)
오늘도 더 나은 코드를 작성하였습니까?
람다 - 다른 함수에 넘길 수 있는 작은 코드 조각 - 공통된 코드 구조를 쉽게 함수로 뽑아낼 수 있다. 이벤트가 발생 하면 이 핸들러를 실행하자! 데이터 구조의 모든 원소에 이연산을 적용하자! 생각을 코드로 표현하기 위해 일련의 동작을 변수에 저장하거나 다른 함수에 넘겨야 하는 경우가 종종 있다. 기존에 자바는 무명 클래스로 이것을 해결하였지만 상당히 번거롭다. 함수형 프로그래밍은 함수를 값처럼 다루는 접근방법을 택하여 문제를 해결한다. 클래스를 선언하고 그 인스턴스를 함수에 넘겨 처리하는 대신에 함수를 직접 다른 함수에 전달한다. 예시) 사람들로 이루어진 리스트에서 연장자 찾기 data class Person(val name:String, val age: Int) fun findTheOldest(pe..
- ViewModel class 내에서 데이터 타입(Generic)을 보유할 LiveData의 객체를 선언한다. - onChanged() 메서드를 정의하는 Observer 객체를 생성합니다. onChanged()는 LiveData 객체가 보유한 데이터 변경 시 호출되어 로직을 처리한다. 일반적으로 Activity fragment와 같은 UI 컨트롤러에 Observer 객체를 생성합니다. - observe() 메서드를 사용하여 LiveData 객체에 Observer 객체를 연결합니다. observe() 메서드는 LifecycleOwner 객체를 사용합니다. 이렇게 하면 Observer 객체가 LiveData 객체를 구독하여 변경사 항에 관한 알림을 받습니다. 일반적으로 Activity fragment와 같..

LiveData 개요 LiveData는 관찰 가능한(Observable) 한 데이터 홀더 클래스이다. LiveData는 LifeCycle을 인식한다. 즉, activity, fragment service 등 안드로이드 구성요소의 생명주기를 인식. LiveData는 활성 수명 주기 상태에 있는 앱 구성요소 관찰자(Observer)만 데이터를 업데이트합니다. LiveData는 Observer 패턴을 따른다. 데이터의 변경이 일어났을 때 콜백으로 받아 처리할 수 있습니다. 이렇게 데이터의 변경이 될 때마다 콜백을 실행하는데 활성화 상태가 아닌 경우 Lifecycle을 알기 때문에 필요하지 않을 땐 콜백이 실행 안된다. LifecycleOwner 인터페이스를 구현하는 객체(Activity, fragment)를 ..
Object 키워드 : 클래스 선언과 인스턴스 생성 코틀린에서 object 키워드는 다양한 상황에서 사용하지만 모든 경우 클래스를 정의하면서 동시에 객체를 생성한다는 공통점이 있다. 1. 객체 선언은 싱글턴을 정의하는 방법 중 하나다. 2. 동반 객체(companion object)는 인스턴스 메서드는 아니지만 어떤 클래스와 관련 있는 메서드와 팩토리 메서드를 담을 때 쓰인다. 동반 객체 메서드에 접근할 때는 동반 객체가 포함된 클래스의 이름을 사용할 수 있다. 3. 무명 내부 클래스(익명 객체) 대신 쓰인다 객체 선언 - 클래스 선언과 그 클래스의 단일 인스턴스의 선언을 합친 것이다. - 클래스를 정의하고 인턴스를 만들어 변수에 저장하는 모든 작업을 단 한 문장 obeject {... }로 줄인 것이다..