одинаковых аргументов и ещё пару, несколько принимают 5 из этих 10. Насколько ок идея передавать один frozen dataclass с аргументами между этими функциями, чтобы они брали, что им нужно и передавали его дальше?
Если это какие-то связанные кусочки данных — вполне.
А в чем смысл плодить такое количество функций, если они используют одинаковые параметры?
Это называется DTO
По сути, только 3 из них используют эти параметры, остальные просто передают через себя
В одну никак? Бритва Оккама еще никого не подводила
Если в одну, то она выйдет на 500 строк
так все же, параметры меняются? А если их просто положить словарем в redis и потом отдельно читать в каждой функции, без передачи
А можно краткого но достаточного описания этого паттерна. В чем основная суть DTO? А то я вроде паттерны изучал, но DTO кажется чем-то новым)
DTO (Data Transfer Object) - это шаблон проектирования, который используется для передачи данных между слоями приложения или между приложениями. DTO является объектом, который инкапсулирует данные, которые должны быть переданы и не имеет какой-либо логики. DTO обычно используется для уменьшения количества запросов к базе данных и ускорения передачи данных по сети. Кроме того, DTO может использоваться для скрытия деталей реализации от клиента и обеспечения защиты данных.
Норм
А в чем принципиальное отличие от структуры из C?
В том что это относится к ООП языку
Ну то есть класс не содержащий методов — уже паттерн с названием DTO?
Data Transfer Object
Вопрос для чего он используется
Например если надо вернуть список троек каких-то элементов из функции. При этом каждый элемент из тройки имеет какое-то смысловое значение. И я для этого создаю класс с тремя полями, а из исходной функции возвращаю список объектов этого класса, я уже использую DTO или еще нет?
Ну ах@#ть теперь программисты на СИ 20 лет назад и не знали, что используют паттерн )
Хотя может я пропустил просто. Он в GoF не описан?
Ну как бы паттерны это просто осмысленная формулировка для того, что и так широко используется
Нет, не описан.
Не возражаю, название паттерна может и заслуженно, приемлемо. Но кажется будто это что-то такое базовое. Какая-то совсем уж элементарная техника. И как по мне даже не про архитектуру, а чистоту кода. Чем городить возврат списка кортежей например, и обращение к нему потом, объекты конечно лучше.
Оно настолько же базовое, насколько и DI, но все равно вызывает вопросы
А можно тогда простого, «элементарного» пояснения для этих умных слов Dependency Injection.
если объекту что-то нужно, он получает это извне, а не создает сам
Обсуждают сегодня