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

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