본문 바로가기

Android Application/앱 설계4

안드로이드 컴포즈(jetpack compose) - state hoisting 안녕하세요. 이번 포스팅에서는 상태 호이스팅 패턴을 안드로이드 컴포즈를 통해 구현해 보겠습니다. state hoisting 패턴은 단방향 데이터 흐름과 관계가 있습니다. 이벤트가 발생하면 상태를 필요에 맞게 변경하고 UI에 표시하는 과정을 하나의 방향으로만 흐르도록 설계하는 것입니다. 여기에 state hoisting을 적용한다면, 이벤트가 발생 -> 이벤트를 뷰모델까지 올려줌 -> 뷰모델에서 필요한 기능을 처리 -> 상태를 변경 -> UI가 이에 맞게 변경되는 식으로 동작하게 됩니다. 간단한 예제를 작성해 보겠습니다. 언어: 코틀린 sdk vsersion - compile: 33 - min: 21 - target: 33 가장 먼저 뷰모델을 작성합니다. ComposeViewModel.kt @HiltVie.. 2023. 4. 7.
안드로이드 DI, DIP 예시(with hilt) 안녕하세요. 이번 포스팅에서는 DI(dependency injection)와 DIP(dependency inversion principle)를 간략하게 구현해 보겠습니다. dependency injection, 의존성 주입이란 간단하게 말해 어떤 클래스에서 다른 클래스를 사용 시, 자신이 사용할 클래스의 객체를 직접 생성하는 것이 아니라 외부에서 생성된 객체를 주입받아 사용하는 것을 뜻합니다. dependency inversion principle, 의존관계 역전 원칙이란 상위에 있는 클래스가 하위에 있는 클래스를 사용 시, 해당 클래스를 직접 참조하는 것이 아닌 interface를 통해 상위 클래스와 하위 클래스 모두가 해당 interface에 의존하도록 구현하는 원칙입니다. 이제 예제 소스를 구현하겠.. 2023. 4. 4.
안드로이드 Repository pattern 간단 예시(with MVVM pattern) 안녕하세요. 이번 포스팅에서는 repository pattern을 간략하게 적용한 예시를 구현해 보겠습니다. UI의 표시 영역은 MVVM 패턴을 적용하여, MVVM + Repository pattern 구성이 됩니다. 저는 아래의 포스팅에서 MVVM 소스를 가져오겠습니다. https://it-of-fortune.tistory.com/27 안드로이드 MVVM 패턴 예시 안녕하세요. 이번 포스팅에서는 소프트웨어 디자인 패턴 중 하나인 mvvm 패턴을 안드로이드 앱을 통해 알아보겠습니다. MVVM 패턴에서 M은 Model, V는 View, VM은 ViewModel을 의미합니다. 쉽게 말해 V는 UI it-of-fortune.tistory.com 언어: 코틀린 sdk vsersion - compile: 33 -.. 2023. 4. 3.
안드로이드 MVVM 패턴 예시 안녕하세요. 이번 포스팅에서는 소프트웨어 디자인 패턴 중 하나인 mvvm 패턴을 안드로이드 앱을 통해 알아보겠습니다. MVVM 패턴에서 M은 Model, V는 View, VM은 ViewModel을 의미합니다. 쉽게 말해 V는 UI, Model은 UI가 그려지는데 필요한 데이터 혹은 UI에 표시되어야 하는 데이터입니다. 이 model과 view의 사이에서 view model이 중간 다리 역할을 하여 view와 model을 분리시켜 주는 것입니다. view(ui) - view model - model(data) 위와 같은 형태가 될 수 있으며, view model은 view에서 버튼 클릭 등의 사용자의 동작을 받아 필요한 기능을 수행하고 view에 알려줄 데이터를 가공합니다. 예시를 통해 알아보겠습니다. 언.. 2023. 4. 1.