Re[3]: StringBuilder
От: Qbit86 Кипр
Дата: 24.08.23 08:19
Оценка: 9 (1) +1
Здравствуйте, zelenprog, Вы писали:

Z>Получается, для каждого класса нужен еще один дополнительный класс Builder?


Для тех классов, у которых создание/настройка «размазаны» по времени, но отделены от собственно использования. Такой подход гарантирует пользователю типа, что коль скоро у него есть созданный объект, то он уже до конца проинициализирован, и в дополнительных проверках перед использованием типа IsInitialized не нуждается.

Z>То есть количество классов увеличится вдвое.


Отдельный функционал — отдельный класс. В данном случае функционалы — постепенное конструирование объекта vs. последующее использование объекта.

Z>В Википедии есть статья "Порождающие шаблоны проектирования":

Z>Из них под ваше описание подходит "Фабричный метод":
Z>Верно я понял?

В Википедии и в GoF это крутится вокруг полиморфного создания объектов, там какие-то иерархии и ООП'шное болото.
Я же говорю про простой прямолинейный подход, think of StringBuilder vs. String.
Глаза у меня добрые, но рубашка — смирительная!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.