Найти в Дзене
2 подписчика

Паттерны проектирования часть 3


Более подробно о порождающих паттернах

Данная часть будет посвящена описанию наиболее часто используемых порождающих паттернов.

Паттерн проектирования фабрика позволяет создавать объекты без указания их конкретных классов. Фабрика инкапсулирует процесс создания объектов и позволяет подменить классы создаваемых объектов без изменения кода клиентской части приложения. Фабрика также помогает избежать зависимостей между клиентским кодом и конкретными классами создаваемых объектов.
Фабрика используется для упрощения процесса создания объектов и предоставляет уровень абстракции между клиентским кодом и создаваемыми объектами. Она может быть основой для реализации паттерна проектирования «Абстрактная фабрика», который предоставляет интерфейс для создания семейств взаимосвязанных или зависимых объектов без указания их конкретных классов.

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

Паттерн проектирования прототип позволяет клонировать объекты без использования порождающих конструкторов. Он использует существующий объект-прототип, который используется как основа для создания нового объекта. Данный паттерн может быть полезен в случаях, когда постоянно необходимо клонировать объекты, но нет необходимости использовать порождающие конструкторы для создания новых объектов. В этом случае просто используется прототип для клонирования новых объектов. Кроме того, прототип может быть использован для инициализации новых объектов с определенными параметрами, а затем производить дополнительные изменения. В Kotlin, при использовании data class можно использовать метод clone(), который позволяет клонировать объект полностью или частично. https://stackoverflow.com/questions/49053432/how-to-clone-object-in-kotlin

Последним рассмотренным порождающим паттерном проектирования будет singleton, он гарантирует, что у объекта будет единственный экземпляр. Используется для обеспечения целостности данных и для предотвращения повторного создания экземпляра класса. В фреймворке Spring, аннотации @Component, @Servise, по умолчанию, используют представление в виде singleton - а.
2 минуты