Ответ
Работал с MVC, MVP, MVVM и MVI.
MVP – разделял логику на View (Activity/Fragment) и Presenter (бизнес-логика). Пример:
class MainPresenter(private val view: MainView) {
fun loadData() {
// Business logic
view.showData(data)
}
}
MVVM – использовал ViewModel + LiveData/Flow для реактивного UI.
class MainViewModel : ViewModel() {
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
fun loadData() {
_data.value = "Loaded"
}
}
MVI – однопоточный state management (например, с StateFlow).