TGViewer
Akrus Games | Unity Akrus Games | Unity @akrusunity · 2.67K subscribers
Post #835 799
⚡️ SOLID в Unity: пиши код, который не сломается через месяц

Сохрани — эти 5 принципов спасут твой проект от бардака, когда ты начнёшь добавлять новую фичу в старую игру.

S — Единая ответственность (Single Responsibility)
Класс должен делать что-то одно. Не создавай монстров вроде PlayerController, который и двигается, и стреляет, и UI обновляет.
✅ Правильно: PlayerMovement, PlayerShooter, PlayerHealth — отдельные скрипты. Меняешь движение — не трогаешь логику выстрела.

O — Открытость/закрытость (Open/Closed)
Код должен быть открыт для расширения, но закрыт для изменений.
Допустим, у тебя система урона. Не пиши if (enemy is Goblin) {...} else if (enemy is Dragon) {...}.
✅ Правильно: создай базовый класс Enemy с виртуальным методом TakeDamage(). Для нового типа врага просто создай новый класс — старый код менять не придётся.

L — Подстановка Лисков (Liskov Substitution)
Наследник должен уметь всё то же, что и родитель. Если твой FlyingEnemy наследуется от Enemy, он должен корректно работать во всех сценариях, где используется Enemy.
✅ Правильно: не переопределяй методы базового класса так, чтобы они ломали логику (например, Move() в наследнике не должен телепортировать объект, если в базовом классе это плавное движение).

I — Разделение интерфейсов (Interface Segregation)
Не заставляй класс реализовывать то, что ему не нужно. Не создавай монстро-интерфейс IUnit с методами Move(), Shoot(), Build().
✅ Правильно: сделай узкие интерфейсы IMovable, IAttackable, IBuilder. Класс Turret реализует только IAttackable, а Worker — IMovable и IBuilder.

D — Инверсия зависимостей (Dependency Inversion)
Завись от абстракций (интерфейсов), а не от конкретных классов.
Не пиши в коде public Rifle currentWeapon;.
✅ Правильно: public IWeapon currentWeapon;. Теперь можно подсунуть любое оружие — пистолет, меч, гранату — и система будет работать. Идеально для быстрого прототипирования и тестов.

💎 Итог: SOLID — это про то, чтобы добавлять фичи быстро, а не разгребать баги неделями. Начни с принципов S и O — они дают самый заметный эффект.

💬 Какой принцип для тебя самый полезный?
📌 Сохрани шпаргалку.
🔔 Подпишись — дальше будем разбирать паттерны в геймдеве.

👉Akrus Games | Unity
  • 🔥 13
  • ❤ 4
More from @akrusunity
  1. Sep 29, 2026Чей синьор?
  2. Sep 22, 2026Я добавил релиз(я в начале не догадался, что через консоль можно прикреплять файлы любого…
  3. Sep 21, 2026https://github.com/Akrus001/YoutubeDownloader Я выложил на гитхаб переделанную версию Yout…
  4. Sep 16, 2026Я хотел запустить Youtube Downloader, но... Нейронка это уже исправила и сейчас пытается с…
  5. Sep 13, 2026Сегодня 2**8 день года и это значит что... Сегодня день программиста!!!😎⌨️🧑‍💻 (вайбкоде…
  6. Sep 8, 2026Post #1035
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →