Навигация по миру интерфейсов в программировании

Загадка интерфейсов

Привет! Сегодня мы поговорим об интерфейсах. Возникающая из-за этого путаница — это то, с чем большинство программистов сталкиваются на раннем этапе. Помните, когда нам впервые пришла в голову эта сумасшедшая идея? Это как получить инструмент, но не знать, как им пользоваться. Но не нужно подчеркивать, мы в этом вместе, и к тому времени, когда вы закончите читать, вы будете знать интерфейсы.

Почему это так сложно?

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

Обычно они представляют интерфейсы с теоретическими определениями и абстрактными примерами. Это работает следующим образом: интерфейс — это контракт, план или набор правил. Но как это работает в реальности? Итак, как мы используем интерфейс в нашем коде? И почему это важно?

Пример электронной коммерции

Давайте рассмотрим более реалистичный сценарий. Давайте представим, что мы делаем интернет-магазин. Наше приложение имеет множество вариантов обработки платежей. У клиентов разные платежные предпочтения. Некоторым нравится использовать кредитные карты, некоторые предпочитают PayPal, а у других есть свой предпочтительный метод.

Если мы хотим представить платежный процессор, интерфейс может помочь. Интерфейс имеет метод обработки платежей, и у каждого класса реализации есть свой способ сделать это. Взгляните на эту простую схему:

Аналогия ремонтной бригады

Давайте отдохнем от кода и разберем его. Представьте, что вы пригласили бригаду ремонтников, чтобы привести квартиру в порядок. У нас есть конечная цель, но мы не слишком беспокоимся о шагах к ней.

Ремонтная бригада действует как интерфейс. Бригада предоставила нам отремонтированную квартиру, но подробности держат в секрете. Эти детали нас не касаются. Нам важен не процесс, а конечный результат.