Sobes.tech
Назад к вопросам
Junior — Middle
89

Можешь привести пример ситуации или задачи, где используется паттерн Prototype для создания объектов?

Ответ от нейросети

sobes.tech AI

Паттерн Prototype используется, когда создание нового объекта напрямую через конструктор слишком дорогостоящее или сложное, и проще клонировать уже существующий объект.

Пример ситуации:

В игре есть сложный объект "монстр" с множеством настроек и состояний. Вместо того чтобы создавать каждого монстра с нуля, можно создать один прототип монстра и клонировать его, изменяя только необходимые параметры.

public class Monster implements Cloneable {
    private String type;
    private int health;

    public Monster(String type, int health) {
        this.type = type;
        this.health = health;
    }

    @Override
    protected Monster clone() throws CloneNotSupportedException {
        return (Monster) super.clone();
    }

    // геттеры и сеттеры
}

// Использование:
Monster prototype = new Monster("Orc", 100);
Monster newMonster = prototype.clone();
newMonster.setHealth(80); // изменяем только нужное

Такой подход экономит ресурсы и время на создание объектов с одинаковой базовой конфигурацией.