Назад к вопросам
Middle
69
questionbank
В каких случаях можно использовать паттерн прототип?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Паттерн прототип используется в следующих случаях:
- Когда создание объекта является дорогостоящей операцией (по времени или ресурсам), а требуется создать множество похожих объектов.
- Когда иерархия классов для создания объектов слишком глубока или сложна, и клиентский код не должен зависеть от конкретных классов-создателей.
- Когда необходимо создать объект с определенным состоянием, которое можно скопировать.
- Когда классы, объекты которых необходимо создать, определяются во время выполнения.
Пример простого копирования (без учета глубокого копирования вложенных объектов):
class Prototype implements Cloneable {
private String value;
public Prototype(String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
// Использование
Prototype original = new Prototype("initial");
try {
Prototype copy = (Prototype) original.clone();
System.out.println(copy.getValue()); // initial
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}