TGViewer
Akrus Games | Unity Akrus Games | Unity @akrusunity · 2.67K subscribers
Post #701 298
Архитектурные ошибки, которые мешают скейлиться

📌 Вот что часто делает мидл, когда ещё не думает как senior:

1️⃣ Всё в одном MonoBehaviour

// И логика, и UI, и данные — всё в одном классе 😵


📌 Разделяй по слоям:
• Model — данные (например, ScriptableObject, runtime state)
• View — отображение и UI (MonoBehaviour с UI-ссылками)
• Controller/Manager — логика и управление

🧠 Это основа MVC / MVVM / ECS — двигайся в сторону слабосвязной архитектуры.

2️⃣ Прямые ссылки между объектами

enemy.healthBar.SetValue(enemy.hp); // жёсткая связь


📌 Лучше через:
• Action и event-события
• интерфейсы (например, IDamageable)
• ScriptableObject-сигналы (EventChannel)
• Service Locator / Dependency Injection (Zenject, Extenject)

3️⃣ Нет централизованного GameManager или FSM

📌 Когда логика разбросана по сцене — сложно дебажить, сохранять и управлять состоянием игры.

🛠️ Сделай GameState-машину:

GameState.Menu → GameState.Playing → GameState.Paused

Добавь централизованную точку входа:
• UIManager
• SceneController
• AudioManager

4️⃣ Мешанина из public переменных

public int hp; // открыто для всех


📌 Используй:

[SerializeField] private int hp;
public int HP => hp;


🧠 Это защищает от случайных изменений и делает код самодокументируемым.

5️⃣ Нет разделения Editor и Runtime

📌 Всё, что относится к редактору (например, EditorGUILayout, Handles, MenuItem) — в папку /Editor и под #if UNITY_EDITOR.

Если этого не сделать:
• код попадёт в билд (ошибка)
• появится ненужный вес
• сломается на мобильных/в WebGL

💡 Средний уровень — это уже мышление архитектора: ты создаёшь систему, которую другие смогут поддерживать, расширять и не бояться трогать.

💬 Хочешь пост про конкретные архитектурные подходы: EventBus, ScriptableSignals или Scene Flow?

🔔 Подписывайся — впереди про UI-архитектуру, async-менеджеры и паттерны уровня Senior

👉Akrus Games | Unity
  • ❤ 7
  • 🔥 3
  • 🎄 2
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 →