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.
Разработка игры должна вестись как независимый модуль со следующими характеристиками:
Характеристика Описание
Изолированность Библиотека существует как самостоятельный проект с собственной системой контроля версий, не зависящий от основного приложения
Повторное использование Компоненты могут быть подключены к нескольким приложениям, в том числе и через менеджер пакетов
Независимое версионирование Библиотека имеет собственный жизненный цикл и версии
Инкапсуляция Внутренняя реализация скрыта, наружу доступен только четко определенный API
Необходимо соблюдать SOLID и DRY.
SOLID в контексте игровых библиотек
Принцип Применение
S (Single Responsibility) Каждый компонент отвечает только за свою функцию: UI-компоненты не должны содержать бизнес-логику. Каждый класс имеет одну причину для изменения.
O (Open/Closed) Новые фичи добавляются через наследование/расширение, не меняя существующие классы. Базовые компоненты закрыты для модификации, но открыты для расширения.
L (Liskov Substitution) Наследники должны быть полностью взаимозаменяемы с родителями.
I (Interface Segregation) Интерфейсы должны быть минималистичными. Клиенты не должны зависеть от интерфейсов и реализовывать методы, которые не используют.
D (Dependency Inversion) Зависимости направлены на абстракции (интерфейсы/протоколы), а не на конкретные реализации
DRY (Don't Repeat Yourself)
Принцип DRY Применение
Единый источник истины конфигурация определена в одном месте
Единая обработка жизненного цикла Все игры используют общий BaseGameEngine, реализующий базовые методы (пример: start(), pause(), resume(), end() и прочее)
Фабрики игровых объектов Создание плиток/колец через параметры (размер, цвет, позиция)
Общие утилиты Хелперы: случайные перемешивания, проверка смежности, сравнение массивов, сохранение состояния
Delete page
Deleting the wiki page "Модуль А - Спринт-2 и Спринт-3" cannot be undone. Continue?