Robot
Складчик
- #1
[Unity Architect] Ваш последний курс по архитектуре [Алексей Козорезов]
- Ссылка на картинку
О курсе:
Ключевые особенности:
Модуль 1 - прикладная архитектура ПО
В этом модуле мы начнем с теории, которая необходима для полного и исчерпывающего понимания всех дальнейших тем, решений и рекомендаций, которые мы будем обсуждать в модулях 2,3,4,5.
Программа модуля:
1.0 Cognitive Process Of Decision Making
1.1 Software Engineering
1.1.1 Введение
1.1.2 Текущий статус и проблемы
1.1.3 Фундаментальные ограничения в разработке ПО
1.1.4 Выводы
1.1.5 (Бонус) Анализ научной статьи No Silver Bullets - Фридрих Брукс 1986 год Посмотрим как со времен Брукса изменилось видение ПО
1.2. Имеющиеся определения
1.3. Имеющиеся архитектурные подходы
1.3.1 Порты и адаптеры
1.3.2 N-layer
1.3.2.1 MVC
1.3.2.2 Hexagonal
1.3.2.3 Onion
1.3.2.4 Выводы
1.3.3 Микроядерная
1.3.4 Event-driven
1.3.4.1 Message Broker
1.3.4.2 Message Mediator
1.3.4.3 RX
1.3.5. Data-driven
1.3.5.1 ECS
1.3.6. Когнитивная сложность
1.3.6.1 Разбор научной статьи по когнитивной сложности ПО
1.3.7 Software Quality Metrics
1.3.7.1 LCOM
1.3.7.2 TCC, LCC
1.3.7.3 CAMC и NHD
1.3.7.4 cohesion, coupling
1.3.7.4.1 Cynefin framework
1.3.7.4.2 cohesion, coupling
1.3.7.4.3 distance coupling
1.3.7.5 Выводы
1.4. Ответ на вопросы:
1.4.1 Когда? - Rational Unified Process
1.4.2 Как измерить качество архитектуры
1.4.3 Чего мы хотим добиться
1.4.4 Зачем мы это делаем
1.5. (Бонус) Декомпозиция SOLID, KISS, GRASP, YAGNI, DRY
️Модуль 2 - особенности архитектуры игр
Архитектура игр во многом отличается от классических standalone или серверных приложений.
В данном модуле мы разберем эту разницу и рассмотрим типовые решения, используемые на игровых проектах.
Программа модуля:
2.1 Game without server
2.2 Game with a server
2.2.1 Server as validator
2.2.2 Server as a part of game - all authority
Модуль 3 - архитектура unity проектов
Конкретно и пошагово разберем все архитектурные особенности проектов на unity.
В финале получим готовый шаблон, с которого можно будет стартовать любой проект!
Так же по шагам разберем, как подходить к проектированию архитектуры.
Программа модуля:
3.1 Анализ требований
3.1.1. Функциональные
3.1.2 Нефункциональные
3.1.3. Пользовательские истории
3.2 Документирование
3.1.1 ADR
3.1.2 C4
3.3. Проектирование и реализация
3.1 Структура проекта
3.2 Управление сценами
3.3 Структура сборок
3.4 Точка входа
3.5 Define’ы
3.6 Конфиги
3.7 Организация данных (когда SO, когда конфиги, когда константы)
3.8 Инициализация
3.9 Тестирование
3.4 Выпуск
3.4.1 git
3.4.1.1 Работа в команде в одном репозитории
3.4.1.2 Решение сложных проблем с “поломкой истории”
3.4.2 Сборка билдов
3.4.3 Миграции
3.4.4 CI
3.4.5 CD
Модуль 4 - способы организации связей между системами
После того, как структура проекта и все вспомогательные инструменты есть, приступаем к созданию фичей и связываем их между собой.
Подробно обсудим все имеющиеся виды связей, их плюсы, минусы и рассмотрим варианты их использования.
Программа модуля:
4.1 EventBus
4.2 Композиция, агрегация
4.3 DI
4.4 RX
4.5 Shared Context
4.7 Часто-используемые GoF паттерны
4.8 Способы связи, которые я чаще всего использую
Модуль 5 - разбор архитектуры проекта MBA
В этом модуле будет выдан доступ к репозиторию проекта Magic Battle Arena со всем исходным кодом и ассетами.
Мы обсудим его архитектуру, её плюсы и минусы.
Проект будет доступен под лицензией только для личного использования в целях обучения.
Программа модуля:
Язык курса: русский
- Это курс о том как создавать игры/проекты на unity эффективно. Где вы на каждом этапе развития проекта имеете достаточно знаний, чтобы принять наилучшее решение.
- Никаких изотерических практик и best practices, которым нужно обязательно следовать. Только поле решений из которого вам нужно выбрать оптимальное. И курс призван расширить это поле до максимальных пределов.
- Чтобы каждый разработчик имел полную картину и понимал причинно-следственную связь всех подходов в дизайне и архитектуре. Это позволит принимать решения более осознанно и качественно!
- И побочные эффекты осознанности:
- Избавление от синдрома самозванца.
- Состояние потока и удовлетворения от работы.
- Ускорение карьерного роста.
Ключевые особенности:
- Структурированный материал, основанный на научных статьях.
- Качественная и глубинная проработка материала:
- Доступ к реальному production проекту. Обычно все реальные проекты под NDA, но у меня есть уникальная возможность дать доступ к проекту моей компании Silverfox Games.
- Материал основанный на научных статьях. Заполняем пробелы в фундаментальных особенностях разработки ПО.
- Не высосанные из пальца примеры. Примеры будут с реального проекта с НЕидеальным кодом и структурой.
- Индивидуальный разбор, ответы на вопросы с рекомендациями. Это будет единственный поток, который я проведу лично.
- Разработчик unity 1+ год коммерческого опыта
- Как минимум один проект в релизе за плечами
- Уровень middle+
Модуль 1 - прикладная архитектура ПО
В этом модуле мы начнем с теории, которая необходима для полного и исчерпывающего понимания всех дальнейших тем, решений и рекомендаций, которые мы будем обсуждать в модулях 2,3,4,5.
Программа модуля:
1.0 Cognitive Process Of Decision Making
1.1 Software Engineering
1.1.1 Введение
1.1.2 Текущий статус и проблемы
1.1.3 Фундаментальные ограничения в разработке ПО
1.1.4 Выводы
1.1.5 (Бонус) Анализ научной статьи No Silver Bullets - Фридрих Брукс 1986 год Посмотрим как со времен Брукса изменилось видение ПО
1.2. Имеющиеся определения
1.3. Имеющиеся архитектурные подходы
1.3.1 Порты и адаптеры
1.3.2 N-layer
1.3.2.1 MVC
1.3.2.2 Hexagonal
1.3.2.3 Onion
1.3.2.4 Выводы
1.3.3 Микроядерная
1.3.4 Event-driven
1.3.4.1 Message Broker
1.3.4.2 Message Mediator
1.3.4.3 RX
1.3.5. Data-driven
1.3.5.1 ECS
1.3.6. Когнитивная сложность
1.3.6.1 Разбор научной статьи по когнитивной сложности ПО
1.3.7 Software Quality Metrics
1.3.7.1 LCOM
1.3.7.2 TCC, LCC
1.3.7.3 CAMC и NHD
1.3.7.4 cohesion, coupling
1.3.7.4.1 Cynefin framework
1.3.7.4.2 cohesion, coupling
1.3.7.4.3 distance coupling
1.3.7.5 Выводы
1.4. Ответ на вопросы:
1.4.1 Когда? - Rational Unified Process
1.4.2 Как измерить качество архитектуры
1.4.3 Чего мы хотим добиться
1.4.4 Зачем мы это делаем
1.5. (Бонус) Декомпозиция SOLID, KISS, GRASP, YAGNI, DRY
️Модуль 2 - особенности архитектуры игр
Архитектура игр во многом отличается от классических standalone или серверных приложений.
В данном модуле мы разберем эту разницу и рассмотрим типовые решения, используемые на игровых проектах.
Программа модуля:
2.1 Game without server
2.2 Game with a server
2.2.1 Server as validator
2.2.2 Server as a part of game - all authority
Модуль 3 - архитектура unity проектов
Конкретно и пошагово разберем все архитектурные особенности проектов на unity.
В финале получим готовый шаблон, с которого можно будет стартовать любой проект!
Так же по шагам разберем, как подходить к проектированию архитектуры.
Программа модуля:
3.1 Анализ требований
3.1.1. Функциональные
3.1.2 Нефункциональные
3.1.3. Пользовательские истории
3.2 Документирование
3.1.1 ADR
3.1.2 C4
3.3. Проектирование и реализация
3.1 Структура проекта
3.2 Управление сценами
3.3 Структура сборок
3.4 Точка входа
3.5 Define’ы
3.6 Конфиги
3.7 Организация данных (когда SO, когда конфиги, когда константы)
3.8 Инициализация
3.9 Тестирование
3.4 Выпуск
3.4.1 git
3.4.1.1 Работа в команде в одном репозитории
3.4.1.2 Решение сложных проблем с “поломкой истории”
3.4.2 Сборка билдов
3.4.3 Миграции
3.4.4 CI
3.4.5 CD
Модуль 4 - способы организации связей между системами
После того, как структура проекта и все вспомогательные инструменты есть, приступаем к созданию фичей и связываем их между собой.
Подробно обсудим все имеющиеся виды связей, их плюсы, минусы и рассмотрим варианты их использования.
Программа модуля:
4.1 EventBus
4.2 Композиция, агрегация
4.3 DI
4.4 RX
4.5 Shared Context
4.7 Часто-используемые GoF паттерны
4.8 Способы связи, которые я чаще всего использую
Модуль 5 - разбор архитектуры проекта MBA
В этом модуле будет выдан доступ к репозиторию проекта Magic Battle Arena со всем исходным кодом и ассетами.
Мы обсудим его архитектуру, её плюсы и минусы.
Проект будет доступен под лицензией только для личного использования в целях обучения.
Программа модуля:
- Введение в специфику
- Разбор архитектуры
- Поиск проблем и слабых мест
- Домашнее задание на декомпозицию и рефакторинг
Язык курса: русский
Зарегистрируйтесь
, чтобы посмотреть скрытый авторский контент.