2 Модуль А
root edited this page 2026-03-31 22:07:04 +03:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

При разработке вам необходимо использовать архитектуру (см.файл с описанием архитектуры), в которой будут разделены слои бизнес-логики, представлений и домена. Изменение бизнес-логики и/или представления одного из экранов не должно повлечь за собой изменение других экранов и нарушение работоспособности приложения, за исключением переходов. 
Минимальное разделение на DOMAIN, PRESENTATION, DATA при их наличии. Основные назначения слоев:
DOMAIN СЛОЙ (Ядро приложения)
Назначение: Содержит бизнес-логику, правила и модели предметной области.
Состав:
•	Entities — чистые бизнес-модели
•	Use Cases (Interactors) — сценарии использования
•	Repository Interfaces — абстракции для получения данных
•	Domain Exceptions — бизнес-ошибки
PRESENTATION СЛОЙ (UI)
Назначение: Отображение данных и обработка пользовательского ввода.
Состав:
•	Screens/Pages — экраны приложения
•	ViewModels/Controllers/Blocs — управление состоянием экрана
•	Widgets/Components — переиспользуемые UI компоненты
•	Mappers — преобразование Domain → Presentation модели
DATA СЛОЙ (Данные)
Назначение: Реализация получения данных из внешних источников.
Состав:
•	Repository Implementations — реализация интерфейсов из Domain
•	Data Sources — локальные (БД, SharedPrefs) и удаленные (API)
•	DTO (Data Transfer Objects) — модели для сетевых запросов
•	Mappers — преобразование DTO ↔ Entity

Должны быть соблюдены SOLID и DRY.
Файлы в проектах должны быть распределены по папкам в соответствии с архитектурой. Допустимо использование папки Common для общих файлов. Файлы настроек проекта типа info.plist, manifest.xml и прочее, допустимо оставить в папках по умолчанию.