Junior — Middle
Pouvez-vous donner un exemple de quand et comment le motif Prototype est utilisé dans la conception d'objets?
sobes.tech IA
Réponse de l'IA
Паттерн 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("Новый контент");
Такой подход позволяет быстро создавать похожие объекты, изменяя только необходимые поля, что экономит ресурсы и упрощает код.