Создание интерфейса для телефонных функций

Опишите возможности звонка, SMS и доступа к сети отдельными интерфейсами, а для полноценного смартфона объедините их. Это позволяет клиентам зависеть только от нужной им возможности.

Короткий ответ

Что ответить на собеседовании

Опишите возможности звонка, SMS и доступа к сети отдельными интерфейсами, а для полноценного смартфона объедините их. Это позволяет клиентам зависеть только от нужной им возможности.

Подробный разбор

Ответ с пояснениями

Условие

Представьте, что у вас есть устройство, способное выполнять звонки, отправлять текстовые сообщения и работать в интернете. Требуется разработать соответствующий интерфейс, описывающий эти возможности.

Ответ

Опишите возможности звонка, SMS и доступа к сети отдельными интерфейсами, а для полноценного смартфона объедините их. Это позволяет клиентам зависеть только от нужной им возможности.

Пример структурных интерфейсов Python:

from typing import Protocol

class Caller(Protocol):
    def call(self, number: str) -> None: ...

class Messenger(Protocol):
    def send_sms(self, number: str, text: str) -> None: ...

class Browser(Protocol):
    def open_url(self, url: str) -> None: ...

class Smartphone(Caller, Messenger, Browser, Protocol):
    pass

Конкретное устройство реализует эти методы. Сервис звонков принимает Caller и не требует от простого телефона интернет-функций. Нужно отдельно определить ошибки, подтверждение действий и синхронный/асинхронный контракт; интерфейс сам не реализует внешние вызовы.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее