Паттерн проектирования Adapter широко используется в Java Development Kit, чтобы несовместимые интерфейсы могли работать вместе без проблем. Этот паттерн действует как мост между двумя несовместимыми системами.
java.util.Arrays.asList() – Адаптирует массив так, чтобы он работал как List, позволяя обращаться к элементам массива через методы интерфейса Listjava.util.Collections.list() – Адаптирует любую коллекцию, чтобы она обеспечивала поведение List для стандартных паттернов доступаjava.util.Collections.enumeration() – Возвращает enumeration над коллекцией, адаптируя современные коллекции к устаревшему интерфейсу EnumerationПакет I/O содержит несколько важных реализаций адаптеров:
java.io.InputStreamReader(InputStream) – Адаптирует поток байтов так, чтобы он работал как Reader, позволяя читать символы из байтовых потоковjava.io.OutputStreamWriter(OutputStream) – Адаптирует OutputStream так, чтобы он работал как Writer, позволяя писать символы в байтовые потокиjavax.xml.bind.annotation.adapters.XmlAdapter.marshal() – Обеспечивает адаптацию между Java-объектами и их XML-представлениями в процессе сериализации и десериализацииЭти примеры показывают, как паттерн Adapter решает реальные проблемы в Java, преобразуя один интерфейс в другой без изменения исходных классов. Такой подход способствует переиспользованию кода и гибкости, при этом сохраняя обратную совместимость между разными компонентами и версиями Java.
java.io.InputStreamReader адаптирует Reader для работы как InputStream, обеспечивая побайтовое чтение из потоков символов.
Новый — ещё не проверен сообществом
Вы