Встречается на собеседованиях • сегодня

Каким способом функция может получать свои зависимости

Функция может получать зависимости несколькими способами:

  1. Через параметры (явная передача):
python
def process_data(data, db_conn):
    db_conn.save(data)
  1. Через глобальные переменные (не рекомендуется из-за сложности тестирования):
python
DB_CONN = create_connection()

def process_data(data):
DB_CONN.save(data)

text

3. **Через внедрение зависимостей** (DI):
```python
class DataProcessor:
    def __init__(self, db_conn):
        self.db_conn = db_conn
    
    def process(self, data):
        self.db_conn.save(data)
  1. Через контейнер зависимостей (используя библиотеки типа dependency-injector):
python
from dependency_injector import containers, providers

class Container(containers.DeclarativeContainer):
    db_conn = providers.Singleton(DatabaseConnection)

def process_data(data, container):
    container.db_conn().save(data)

Лучшие практики рекомендуют явную передачу зависимостей через параметры или использование DI-контейнеров для управления сложными зависимостями.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы