Ответ
В Android часто используются следующие паттерны:
- MVVM (Model-View-ViewModel) – разделение логики и UI. ViewModel хранит данные, LiveData/Flow обеспечивают реактивность.
class MyViewModel : ViewModel() {
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
}
- Repository – абстракция над источниками данных (API, БД).
class UserRepository {
suspend fun getUsers(): List<User> {
// Fetch from API/DB
}
}
- Singleton (через
objectили DI) – единый экземпляр класса.
object RetrofitClient {
val instance: Retrofit = Retrofit.Builder()...
}
-
Adapter (RecyclerView.Adapter) – связывает данные и ViewHolder.
-
Observer (LiveData, Flow) – уведомляет об изменениях данных.
-
Dependency Injection (Hilt/Dagger) – управление зависимостями.
Также применяются Factory, Builder (AlertDialog), Decorator (Views), Strategy (разные алгоритмы).