Я полностью отказался от старой модели данных в проекте

Теперь всё работает гибко, и по-настоящему ООП.

Что было раньше: Я использовал промежуточные data-классы вроде Paragraph, Section и т.п. Они отражали структуру API, но создавали лишний слой, усложняли навигацию по данным, и в конечном счёте — мешали расширению проекта. Каждое изменение API влекло каскадные правки по всем слоям.

Что стало: Теперь каждая сущность — это интерфейс с вложенной реализацией (Base) и внутренним маппером. Я могу маппить их в любые domain/view-модели, не завися от конкретных реализаций. Всё строится на композиции и инкапсуляции. Благодаря этому: • Код стал проще сопровождать. • Больше контроля над преобразованием данных. • Ушел от копирования данных, теперь есть OOP-шные-методы для работы с полями класса.

Почему это важно: Я разрабатываю исламское Android-приложение, которое будет работать с Кораном, переводами, аудио, — множество API и десятки моделей. Такой подход — залог масштабируемости, стабильности и читаемости.

На 1 фото - как было до На 2 фото - как стало после

P.S. Переход дался нелегко, но результат стоил того.

Я полностью отказался от старой модели данных в проекте | Сетка — социальная сеть от hh.ru Я полностью отказался от старой модели данных в проекте | Сетка — социальная сеть от hh.ru