Sobes.tech
Junior — Middle
129

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

AI-дан жауап

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); // изменяем только нужное

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