Junior — Middle
What architectural model is recommended when working with Jetpack Compose for building applications?
sobes.tech AI
Answer from AI
When working with Jetpack Compose, it is recommended to use the MVVM (Model-View-ViewModel) architectural pattern.
- Model — contains data and business logic.
- ViewModel — manages UI state and interacts with the Model, providing data for display.
- View (Compose UI) — a declarative UI that subscribes to state changes from the ViewModel.
Example:
class MyViewModel : ViewModel() {
private val _state = mutableStateOf("Hello")
val state: State<String> = _state
fun updateText(newText: String) {
_state.value = newText
}
}
@Composable
fun MyScreen(viewModel: MyViewModel = viewModel()) {
val text by viewModel.state
Text(text = text)
}
This approach ensures a clean separation of concerns and simplifies testing.