Ответ
Работал с основными паттернами проектирования, включая creational, structural, и behavioral.
- Singleton – для управления глобальными состояниями (например, Retrofit клиент).
object ApiClient {
val retrofit: Retrofit by lazy {
Retrofit.Builder().baseUrl(BASE_URL).build()
}
}
- Observer – через
LiveData/Flowдля реактивного UI. - Adapter – при работе с RecyclerView (например,
RecyclerView.Adapter). - MVVM/MVI – архитектурные паттерны для разделения логики и UI.
Также применял Factory для создания объектов с разными конфигурациями и Decorator для расширения функциональности (например, кастомные View).
Знаю антипаттерны (например, God Object) и избегаю их.