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

51 запись с тегом "Architecture"

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

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

1. Обзор

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

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

2. Основы параллелизма

Прежде чем мы продолжим, давайте потратим некоторое время на понимание основ. Для начала мы должны прояснить наше понимание того, что мы называем параллельной программой. Мы называем программу параллельной , если одновременно выполняются несколько вычислений .

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

1. Введение

Недавно мы рассмотрели Creational Design Patterns и где их найти в JVM и других основных библиотеках. Теперь мы рассмотрим шаблоны поведенческого проектирования . Они сосредоточены на том, как наши объекты взаимодействуют друг с другом или как мы взаимодействуем с ними.

2. Цепочка ответственности

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

interface ChainOfResponsibility {
void perform();
}

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

1. Обзор

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

« Банда четырех » описала семь таких структурных способов или паттернов. В этом кратком руководстве мы увидим примеры того, как некоторые основные библиотеки в Java адаптировали каждую из них .

2. Адаптер

Адаптер, как следует из названия, действует как посредник для преобразования несовместимого в других отношениях интерфейса в тот, который ожидает клиент .

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

1. Введение

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

Creational Patterns — это шаблоны проектирования, которые сосредоточены на том, как мы получаем экземпляры объектов . Обычно это означает, как мы создаем новые экземпляры класса, но в некоторых случаях это означает получение уже созданного экземпляра, готового для использования.

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

2. Заводской метод

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

1. Обзор

Часто реализации репозитория и DAO считаются взаимозаменяемыми, особенно в приложениях, ориентированных на данные. Это создает путаницу в их различиях.

В этой статье мы обсудим различия между шаблонами DAO и Repository.

2. Шаблон ДАО

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

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

1. Обзор

В этом руководстве мы обсудим шаблон DTO , что это такое, как и когда его использовать. К концу мы будем знать, как правильно его использовать.

2. Узор

DTO или объекты передачи данных — это объекты, которые переносят данные между процессами, чтобы уменьшить количество вызовов методов. Паттерн был впервые представлен Мартином Фаулером в его книге EAA .

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

1. Обзор

В этом руководстве мы углубимся в паттерн Front Controller Pattern , часть корпоративных паттернов , определенных в книге Мартина Фаулера «Шаблоны архитектуры корпоративных приложений».

Фронт-контроллер определяется как «контроллер, который обрабатывает все запросы к веб-сайту». Он стоит перед веб-приложением и делегирует запросы последующим ресурсам. Он также предоставляет интерфейс для общего поведения, такого как безопасность, интернационализация и представление конкретных представлений определенным пользователям.

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

Front Controller объединяет всю обработку запросов, направляя запросы через один объект-обработчик.

2. Как это работает?

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

1. Обзор

Domain-Driven Design (DDD) — это набор принципов и инструментов, которые помогают нам разрабатывать эффективную архитектуру программного обеспечения для повышения ценности бизнеса . Ограниченный контекст — один из центральных и важных шаблонов для спасения архитектуры от большого кома грязи путем разделения всего домена приложения на несколько семантически согласованных частей.

В то же время с помощью системы модулей Java 9 мы можем создавать сильно инкапсулированные модули.

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

2. Контексты, ограниченные DDD

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

1. Введение

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

2. Что такое транзакция?

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

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

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

1. Обзор

В этой статье мы рассмотрим платформу Lagom и реализуем пример приложения с использованием реактивной архитектуры, управляемой микросервисами.

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

Под архитектурой, управляемой микросервисами, мы подразумевали разделение системы на границы между совместными сервисами для достижения таких целей , как изоляция , автономия , единая ответственность , мобильность и т. д . Дополнительные сведения об этих двух концепциях см . в The Reactive Manifesto и Reactive Microservices Architecture .

2. Почему Лагом?