Back to questions
Junior — Middle
58
Можешь привести пример, когда и как применяется паттерн Prototype в проектировании объектов?
Answer from AI
sobes.tech AI
Паттерн Prototype используется, когда нужно создавать новые объекты путём копирования существующих, а не создавать их с нуля. Это полезно, если создание объекта дорогостоящее или сложное.
Пример применения в Java:
Допустим, у нас есть класс Document, который содержит много данных и настроек. Вместо того, чтобы создавать новый документ с нуля, мы можем клонировать существующий шаблон.
public class Document implements Cloneable {
private String content;
private String author;
public Document(String content, String author) {
this.content = content;
this.author = author;
}
@Override
protected Document clone() {
try {
return (Document) super.clone();
} catch (CloneNotSupportedException e) {
throw new AssertionError();
}
}
// геттеры и сеттеры
}
// Использование:
Document template = new Document("Шаблон", "Автор");
Document newDoc = template.clone();
newDoc.setContent("Новый контент");
Такой подход позволяет быстро создавать похожие объекты, изменяя только необходимые поля, что экономит ресурсы и упрощает код.