Назад к вопросам
Junior — Middle
69
Можете ли вы привести пример ситуации, когда вы применяли паттерн Prototype в своей практике?
Ответ от нейросети
sobes.tech AI
В одном из проектов на Java мне нужно было создавать множество объектов с одинаковой структурой, но с небольшими отличиями в данных. Вместо того чтобы создавать каждый объект с нуля, я применил паттерн Prototype — реализовал интерфейс Cloneable и переопределил метод clone(). Это позволило быстро создавать копии исходного объекта, экономя время и ресурсы.
Пример:
class Document implements Cloneable {
private String content;
public Document(String content) {
this.content = content;
}
public void setContent(String content) {
this.content = content;
}
public String getContent() {
return content;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
// Использование
Document original = new Document("Исходный текст");
Document copy = (Document) original.clone();
copy.setContent("Изменённый текст");
Такой подход помог избежать повторного создания сложных объектов и упростил управление их состоянием.