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

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

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

  1. Через параметры (наиболее явный и предпочтительный способ):
python
def process_data(data, db_conn):
    db_conn.save(data)
  1. Через внедрение зависимостей (DI):
python
class Service:
    def __init__(self, db_conn):
        self.db_conn = db_conn

def create_service(db_conn):
return Service(db_conn)

text

3. **Через глобальные переменные** (не рекомендуется из-за сложности тестирования):
```python
db_conn = DatabaseConnection()

def process_data(data):
    db_conn.save(data)
  1. Через замыкания:
python
def make_processor(db_conn):
    def process(data):
        return db_conn.save(data)
    return process

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

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

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

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

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