Sobes.tech
Назад к вопросам
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("Изменённый текст");

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