Некоторые примеры не программирования, которые могут помочь вам увидеть правильное использование интерфейсов в программировании.
Существует интерфейс между электрическими устройствами и электрической сетью - это набор соглашений о форме вилок и розеток и напряжениях / токах на них. Если вы хотите внедрить новое электрическое устройство, если ваш штекер следует правилам, он сможет получать услуги из сети. Это делает расширяемость очень простым и удаляет или снижает затраты на координацию : вам не нужно уведомлять поставщика электроэнергии о том, как работает ваше новое устройство, и прийти к отдельному соглашению о том, как подключить новое устройство к сети.
Страны имеют стандартные железнодорожные колеи. Это позволяет разделение труда между инжиниринговыми компаниями, которые устанавливают рельсы, и инжиниринговыми компаниями, которые строят поезда для работы на этих рельсах, и позволяет железнодорожным компаниям заменять и модернизировать поезда без реорганизации всей системы.
Услуга, которую бизнес предоставляет клиенту , может быть описана как интерфейс: четко определенный интерфейс подчеркивает услугу и скрывает средства . Когда вы помещаете письмо в почтовый ящик, вы ожидаете, что почтовая система доставит письмо в течение определенного времени, но у вас нет никаких ожиданий относительно того, как письмо доставлено: вам не нужно знать , и Почтовая служба имеет возможность выбора способа доставки , который наилучшим образом соответствует требованиям и текущим обстоятельствам. Исключением из этого является возможность заказчиков выбирать авиапочту - это не тот интерфейс, который разработал бы современный программист, поскольку он раскрывает слишком много реализации.
Примеры от природы: я не слишком увлечен примерами eats (), makeSound (), move () и т. Д. Они действительно описывают поведение, которое является правильным, но они не описывают взаимодействия и как они включены . Очевидные примеры интерфейсов, которые обеспечивают взаимодействие в природе, связаны с размножением, например, цветок обеспечивает определенный интерфейс для пчелы, так что опыление может иметь место.