Sobes.tech
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("Новый контент");

Такой подход позволяет быстро создавать похожие объекты, изменяя только необходимые поля, что экономит ресурсы и упрощает код.