MVC (Model-View-Controller): Разделяет приложение на три взаимосвязанные части:
MVP (Model-View-Presenter): Улучшенная версия MVC для Android. Presenter выступает посредником между Model и View. View не имеет прямого доступа к Model.
MVVM (Model-View-ViewModel): Основан на связывании данных (data binding). ViewModel содержит данные и логику представления, не ссылаясь на View. View наблюдает за изменениями в ViewModel.
Clean Architecture: Разделение приложения на слои (Domain, Data, Presentation) с четкими зависимостями и правилами.
Singleton: Гарантирует, что класс имеет только один экземпляр.
Factory Method: Предоставляет интерфейс для создания объектов в суперклассе, позволяя подклассам изменять тип создаваемых объектов.
Observer:
Позволяет объекту уведомлять зависимые объекты об изменениях состояния. Часто используется с LiveData or Flow.
Adapter:
Позволяет классам с несовместимыми интерфейсами работать вместе. Используется, например, для привязки данных к RecyclerView.
Builder: Позволяет создавать сложные объекты пошагово.
Decorator: Динамически добавляет новую функциональность объекту, оборачивая его.