Для меня это новость, например. Сколько я работал - фабрика, это то, что возвращает callable. Точнее, "фабрика", это паттерн, в котором нам надо сделать "значение с параметром", и для "значения с параметром" мы возвращаем callable, в котороый это значение уже и передаётся.
Возможно, это эффект питоновой пофигистичности в вопросах обязательности классов, но мне кажется, что для объяснения сути происходящего классовость как раз второстепенна.
Кстати, функция может возвращать класс. Я так даже иногда делаю.
def foo():
class Result:
foo=4
bar=2
return Result
no subject
Date: 2022-07-07 09:17 am (UTC)Для меня это новость, например. Сколько я работал - фабрика, это то, что возвращает callable. Точнее, "фабрика", это паттерн, в котором нам надо сделать "значение с параметром", и для "значения с параметром" мы возвращаем callable, в котороый это значение уже и передаётся.
Возможно, это эффект питоновой пофигистичности в вопросах обязательности классов, но мне кажется, что для объяснения сути происходящего классовость как раз второстепенна.
Кстати, функция может возвращать класс. Я так даже иногда делаю.
(или return Resut(), не важно)
Очень удобно потом делать foo().foo или foo().bar
Интересно, это всё-таки уже фабрика или нет?