Мне кажется - чейнинг это инструмент, который применяется в строителе. Например, HouseBuilder после вызова нескольких методов не превратится в House - будет нужно вызывать условный Build(). Так что да, согласен - чейнинг не строитель и строитель не чейнинг. Потому не стал упоминать строителя и в целом - паттерны. Как будто ничего из перечисленного выше не реализуют какой-то конкретный паттерн.
Собственно, функц.опции чем-то напоминает и "строителя" и "стратегию" и что-то еще, что не могу вспомнить; Но все же они - что-то уникальное.
Функциональные опции - это действительно от недостатка kva. И интересно то, как сообщество, в условиях ограничений, создало новый подход.
Про строителя и сложный объект тоже согласен, но конкретно в конструкторах я его никогда не видел в го приложениях. Самое похожее, что вспомнил - это github.com/go-resty/resty. Но тут тоже не строитель?
Надеюсь, он сэкономит немного времени
Мне кажется - чейнинг это инструмент, который применяется в строителе. Например,
HouseBuilder
после вызова нескольких методов не превратится вHouse
- будет нужно вызывать условныйBuild()
. Так что да, согласен - чейнинг не строитель и строитель не чейнинг. Потому не стал упоминать строителя и в целом - паттерны. Как будто ничего из перечисленного выше не реализуют какой-то конкретный паттерн.Собственно, функц.опции чем-то напоминает и "строителя" и "стратегию" и что-то еще, что не могу вспомнить; Но все же они - что-то уникальное.
Функциональные опции - это действительно от недостатка kva. И интересно то, как сообщество, в условиях ограничений, создало новый подход.
Про строителя и сложный объект тоже согласен, но конкретно в конструкторах я его никогда не видел в го приложениях. Самое похожее, что вспомнил - это github.com/go-resty/resty. Но тут тоже не строитель?