Перейти к основному содержимому

1310 записей с тегом "Java"

Посмотреть все теги

· 9 мин. чтения

1. Введение

Коллекции Java — это тема, которую часто поднимают на технических собеседованиях с разработчиками Java. В этой статье рассматриваются некоторые важные вопросы, которые задают чаще всего, и на них может быть сложно ответить правильно.

2. Вопросы

Q1. Описать иерархию типов коллекций. Каковы основные интерфейсы и в чем между ними разница?

· 3 мин. чтения

1. Обзор

В этой статье мы обсудим шаблон проектирования «Абстрактная фабрика».

В книге « Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения » говорится, что абстрактная фабрика «предоставляет интерфейс для создания семейств связанных или зависимых объектов без указания их конкретных классов». Другими словами, эта модель позволяет нам создавать объекты, которые следуют общему шаблону.

Примером шаблона проектирования Abstract Factory в JDK является newInstance() класса javax.xml.parsers.DocumentBuilderFactory .

2. Пример шаблона проектирования абстрактной фабрики

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим шаблон адаптера и его реализацию в Java.

2. Шаблон адаптера

Шаблон адаптера действует как соединитель между двумя несовместимыми интерфейсами, которые в противном случае не могут быть соединены напрямую. Адаптер оборачивает существующий класс новым интерфейсом, чтобы он стал совместимым с интерфейсом клиента.

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

· 9 мин. чтения

1. Обзор

В этом руководстве мы будем использовать библиотеку FreeBuilder для создания классов построителей на Java.

2. Шаблон проектирования "Строитель"

Builder — один из наиболее широко используемых шаблонов проектирования создания в объектно-ориентированных языках. Он абстрагирует создание сложного объекта предметной области и предоставляет гибкий API для создания экземпляра. Таким образом, это помогает поддерживать краткий уровень предметной области.

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

· 3 мин. чтения

1. Введение

В этом кратком руководстве мы познакомим вас с составным шаблоном проектирования в Java.

Мы собираемся описать структуру и цель ее использования.

2. Структура

Комбинированный шаблон предназначен для того, чтобы можно было одинаково обрабатывать отдельные объекты и композиции объектов или «композиты».

· 5 мин. чтения

1. Введение

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

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

В этом уроке мы дадим определение каррингу и представим его использование .

2. Простой пример

· 3 мин. чтения

1. Обзор

Шаблон декоратора можно использовать для придания объекту дополнительных обязанностей статически или динамически. Декоратор предоставляет расширенный интерфейс для исходного объекта.

При реализации этого паттерна мы предпочитаем композицию наследованию, чтобы можно было снова и снова сокращать накладные расходы на создание подклассов для каждого декоративного элемента. Рекурсия, связанная с этим дизайном, может использоваться для украшения нашего объекта столько раз, сколько нам нужно.

2. Пример шаблона декоратора

Предположим, у нас есть объект «Рождественская елка», и мы хотим его украсить. Украшение не меняет самого объекта; просто в дополнение к елке мы добавляем некоторые элементы декора, такие как гирлянда, мишура, верхушка для елки, пузырьковые огни и т. д .:

· 3 мин. чтения

1. Обзор

Паттерн Proxy позволяет нам создать посредника, который действует как интерфейс к другому ресурсу , а также скрывает базовую сложность компонента.

2. Пример шаблона прокси

Рассмотрим тяжелый объект Java (например, соединение JDBC или SessionFactory ), который требует некоторой начальной настройки.

Мы хотим, чтобы такие объекты инициализировались только по запросу, и как только они будут инициализированы, мы хотели бы повторно использовать их для всех вызовов:

· 5 мин. чтения

1. Введение

В этой быстрой статье мы обсудим два самых популярных способа реализации синглтонов в простой Java.

2. Синглтон на основе классов

Самый популярный подход — реализовать Singleton, создав обычный класс и убедившись, что он имеет:

  • Частный конструктор
  • Статическое поле, содержащее его единственный экземпляр
  • Статический фабричный метод для получения экземпляра

· 3 мин. чтения

1. Введение

В этом уроке мы поговорим о шаблоне проектирования блокировки с двойной проверкой. Этот шаблон уменьшает количество захватов блокировки, просто предварительно проверяя условие блокировки. В результате этого обычно происходит повышение производительности.

Давайте более подробно рассмотрим, как это работает.

2. Реализация

Для начала рассмотрим простой синглтон с драконовской синхронизацией: