Паттерны на ruby: Строитель

Vladislav Kopylov
1 min readSep 16, 2017

--

Описание:
Задача данного паттерна состоит в создании/производстве других экземпляров классов.
К нему обращаются если у создаваемого объекта есть сложные связи с другими объектами, особые условия для валидации, и/или мы должны их абстрагировать с точки зрения интерфейса.

Пример задачи:
Необходимо разработать функционал создания статей. Статью можно создать только если она соответствует следующим условиям:
1)У нее заполнен заголовок и описание
2)К каждой статье нужно заполнить от 1 до 3 тегов

Реализация:
Теги и статьи представлены в виде классов <Tag>, <Article>. Функционал создание статей и тегов к ним представлен в классе <ArticleBuilder>. Манипуляция данными представлен в методах .add_description, .add_tag, .add_title. А для проверка валидности данных и сохранения есть методы .valid? и .save

--

--

Vladislav Kopylov
Vladislav Kopylov

No responses yet