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

Енигмата на интерфейсите

Здравей! Днес ще говорим за интерфейси. Объркването, което възниква от това, е нещо, с което повечето програмисти се сблъскват в началото. Спомняте ли си кога за първи път се захванахме с тази луда идея? Това е като да получите инструмент, но да не знаете как да го използвате. Но няма нужда да подчертаваме, ние сме в това заедно и докато приключите с четенето, ще знаете интерфейсите.

Защо е толкова трудно?

Ако разпознаем трудностите на интерфейсите, можем да намерим начини да ги преодолеем. Тези понятия са някак абстрактни и теоретични и могат да бъдат малко смущаващи мозъка, особено с полиморфизма.

Те обикновено въвеждат интерфейси с теоретични определения и абстрактни примери. Начинът, по който работи е, че интерфейсът е договор, план или набор от правила. Но как работи това в действителност? И така, как да използваме интерфейса в нашия код? И защо това е важно?

Пример за електронна търговия

Нека да проверим сценарий, който е по-реалистичен. Нека си представим, че правим онлайн пазар. Нашето приложение има много опции за обработка на плащания. Клиентите имат различни предпочитания за плащане. Някои обичат да използват кредитни карти, други предпочитат PayPal, а трети имат свой собствен предпочитан метод.

Ако искаме да представим платежен процесор, един интерфейс може да свърши работа. Интерфейсът има метод за обработка на плащанията и всеки внедряващ клас има свой собствен начин да го направи. Разгледайте тази проста диаграма:

Аналогията на Renovation Crew

Нека да си отдъхнем от кода и да разбием това. Представете си да наемете екип за ремонт, който да освежи апартамента. Имаме предвид крайната цел, но не сме много притеснени за стъпките, за да стигнем до нея.

Екипът за обновяване действа като интерфейс. Екипът ни е осигурил ремонтиран апартамент, но пазят подробностите в тайна. Тези подробности не са наша грижа. Не ни интересува процесът, а само крайният продукт.