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

49 записей с тегом "Pattern"

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

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

1. Обзор

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

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

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

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

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

1. Введение

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

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

2. Структура

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

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

1. Обзор

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

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

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

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

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

1. Обзор

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

Сначала мы дадим обзор его назначения и объясним проблему, которую он пытается решить.

Затем мы рассмотрим UML-диаграмму интерпретатора и реализацию практического примера.

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

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

1. Обзор

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

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

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

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

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

1. Обзор

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

Сначала мы дадим обзор его назначения и объясним проблему, которую он пытается решить. Затем мы рассмотрим UML-диаграмму State и реализацию практического примера.

2. Шаблон проектирования состояний

Основная идея паттерна State состоит в том, чтобы позволить объекту изменять свое поведение без изменения его класса. Кроме того, благодаря его реализации код должен оставаться чище без множества операторов if/else.

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

1. Введение

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

В этой быстрой статье мы рассмотрим пример, представляющий снятие средств в банкомате.

2. Зависимость от Maven

Для начала мы импортируем последнюю версию этой библиотеки с помощью Maven:

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

1. Обзор

Библиотека Lombok предоставляет отличный способ упростить объекты данных. Одной из ключевых особенностей Project Lombok является аннотация @Builder , которая автоматически создает классы Builder для создания неизменяемых объектов. Однако заполнение коллекций в наших объектах может быть неуклюжим со стандартными классами Builder , сгенерированными Lombok.

В этом руководстве мы рассмотрим аннотацию @Singular , которая помогает нам работать с коллекциями в наших объектах данных. Как мы увидим, он также обеспечивает соблюдение передовой практики.

2. Строители и коллекции

Классы- строители упрощают создание неизменяемых объектов данных благодаря их простому и понятному синтаксису. Давайте посмотрим на пример классов, аннотированных аннотацией Lombok @Builder :

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

1. Введение

В этой статье мы рассмотрим, как мы можем реализовать шаблон проектирования стратегии в Java 8.

Сначала мы дадим обзор шаблона и объясним, как он традиционно реализовывался в старых версиях Java.

Затем мы снова попробуем этот шаблон, только на этот раз с лямбда-выражениями Java 8, что уменьшит многословие нашего кода.

2. Паттерн стратегии