Video není dostupné.
Omlouváme se.
Unity Solid. Принцип открытости и закрытости. OCP. Open Close Principle. Часть 2/5
Vložit
- čas přidán 16. 08. 2024
- Unity Solid: Принцип открытости и закрытости (OCP- Open Close Principle). В этом видеоруководстве ты погрузишься в один из принципов SOLID - Принцип Открытости и Закрытости, и его применение в среде разработки игр на Unity.
Ты узнаешь, что такое OCP, как его применять, почему он является важным на крупных проектах и почему он мне так сильно нравится. Мы обсудим, как можно расширить функционал существующего класса, не изменяя его.
В этом видео мы рассмотрим реальные примеры того, как OCP может быть реализован в Unity.
Для основы будет взят проект, который мы писали в этом обучающем ролике - • Unity для новичков: Со...
Видео по SRP - • Unity Solid. Принцип е...
Видео по LSP - • Unity Solid. Принцип П...
Видео по ICP - • Простыми словами. Прин...
Это видео идеально подходит как для начинающих разработчиков, так и для профессионалов, желающих углубить свои знания в принципах SOLID и их применении в реальных проектах на Unity.
============================================================
Мой телеграм канал - на котором есть много информации по психологии как для начинающий разработчиков, так и опытных. Делюсь личным опытом и препятствиями, которые я преодолел - t.me/sulimannu...
============================================================
Индивидуальное менторство (обучение) по Unity - sulimannxx.not...
============================================================
0:00 Вступление. Что такое OCP
1:47 Что мы будем добавлять?
4:33 Создаем FastRifleGunReloadController
7:26 Расширяем класс с помощью UnityEvent
10:40 Подбиваем итоги
Прошу прошение, а разве такое расширение (С перезарядкой ) не является ли - копированием кода ,ведь у нас есть 2 отдельные сущности которые делают одно и то же , разниться только в том какие данные туда поступают , разве в этом случае нельзя ли было бы изменить класс добавив в конструктор передачу этих данных ?? Да это бы нарушило принцип Open Close. Но это сделало бы класс более гибким. А еще лучше просто сделать настраиваемый конфиг класса RifleGunBalance. Тогда нам бы не приходилось создавать новое поле FastReloadTime, а просто бы имели ReloadTime с разными конфигами. Или бы это считалось грубим нарушением OpenClose?