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