Interface (Интерфейс)
Классы предоставляют данные и сервисы клиентским классам, и чтобы клиентские классы не зависели от конкретных реализаций, необходимо заменять их другим классом, который бы минимально влиял на клиентский класс – т.е. клиентские классы получают доступ к данным и сервисам через некоторый интерфейс.
Реализация шаблона в Java не сложная создаем интерфейс для предоставления сервиса, описываем его методы, создаем клиентские классы, которые будут использовать предоставляемый сервис, а также создаем реализацию сервиса, или другими словами реализацию интерфейса.