Найти в Дзене
Паттерн наблюдатель в Unity 3D
В любой игре постоянно что-то происходит. Один персонаж нанес урон дургому, заспавнилась пачка мобов, кто-то нажал паузу, или прозвенел победный гонг. У одной части системы изменилось состояние, а другая произвела какое-то действие. В этой статье мы разберем паттерн – наблюдатель. Разработчики используют его даже не задумываясь, ведь в C# уже есть события. У вас может возникнуть справедливый вопрос, если есть события, то о чем может идти речь, паттерн реализуется средствами языка автоматически,...
3 года назад
Состояние в Unity 3D
Здравствуйте уважаемые читатели моего канала, сегодня мы поговорим о паттерне состояние. Он часто используется в геймдеве для условия определения кода, который будет исполняться. Обычно это сводится к сложным и многоуровневым блокам без намека на полиморфизм. В этой статье мы познакомимся с еще одним поведенческим паттерном проектирования, который позволяет менять состояние объекта в зависимости от его состояния, создавая ощущение что поменялся целый класс. Для примера рассмотрим состояние по производству бензина из нефти...
3 года назад
Что такое паттерн фабрика и где его можно использовать
Здравствуйте, сегодня мы разберем очень полезный паттерн проектирования – фабрика. Возьмем наш код из статьи про паттерн декоратор. Допустим у нас есть класс, в котором мы храним характеристики игрока. Это обычный класс данных с 4-мя параметрами. Класс игрока имеет метод, который правильно посчитает параметры, в зависимости от расы персонажа. Допустим, что существует окно, где показаны начальные характеристики персонажа. И у нас уже получается дублирование кода, что не есть хорошо. Но обычно таких...
3 года назад
Паттерн декорратор
Доброго времени суток. Сегодня у нас на очереди очень интересный паттерн – декоратор. В этой статье мы научимся наделять классы новыми возможностями во время выполнения без лишнего наследования. Декоратор – это структурный паттерн. Такие паттерны отвечают за построение удобных в поддержке и иерархии классов. Декоратор динамически наделяет класс новыми возможностями и является альтернативой множеству подклассов. Некий клиенсткий од обращается к IDataProvider, чтобы записать или вывести данные. IDAtaProvider- это интерфейс или абстрактный класс...
3 года назад
Паттерн стратегия простыми словами
Паттерн стратегия в Unity Большинство задач уже решались когда-то разработчиками, поэтому часто разработка сводится к использованию уже существующих паттернов программирования. В этой статье мы разберем один из них – стратегия. Итак, допустим у вас есть класс суперкласс Citizen, который на основании enum меняет свое взаимодействие с игроком. Такой код часто перерастает в спагетти и его сложно поддерживать и развивать. Мериться с этим мы не будем и используем один из принципов ООП – наследование, чтобы можно было добавлять различные типы жителей...
3 года назад