Назад к вопросам
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); // изменяем только нужное
Такой подход экономит ресурсы и время на создание объектов с одинаковой базовой конфигурацией.