Паттерн «Сценарий транзакции» при загрузке файлов в Spring MVC

Ранее мы рассматривали загрузку файлов в web приложении на основе Spring MVC с использованием форм. Но, на механизме загрузки процесс на самом деле не заканчивается. Необходимо обеспечить корректность его работы. Чтобы было соответствие между файлами и хранящимися на сервере и записями в базе данных, которые содержат информацию о них.

Паттерн «Наблюдатель». Описание и примеры на C# и Java

Паттерн «Наблюдатель» (Observer) — определяет отношение «один ко многим» между объектами таким образом, что при изменении состояния одного объекта все зависящие от него объекты получают уведомление об этом и также обновляют своё состояние [1].

Паттерн «Посетитель». Описание и примеры на C# и Java

Паттерн «Посетитель» (Visitor) описывает операцию, выполняемую над каждым объектом из некоторой структуры, без изменения классов этих объектов [1]. Это позволяет добавлять новый функционал без доработки уже имеющихся классов приложения.

Паттерн «Команда» в WPF. «Строгий» вариант реализации паттерна MVVM

В первой статье, посвящённой паттерну MVVM, мы рассматривали так называемый «нестрогий» вариант его реализации, когда взаимодействие представления и модели представления осуществляется посредством обработки событий. Также в этой статье было отмечено, что, если строго следовать паттерну необходимо использовать механизм команд. Теперь мы рассмотрим применение паттерна команда в контексте WPF и усовершенствуем

Паттерн «Команда» (Command). Описание и примеры использования

Команда (Command) – один из «классических» поведенческих паттернов, описанных ещё у «Банды Четырёх» [1]. Он используется для создания гибкого механизма действий над чем-либо или команд. В этом механизме класс отправитель команды и класс получатель не зависят друг от друга. В данном паттерне объект «Команды» инкапсулирует как само действие, так и

Реализация паттерна MVVM на примере C# (WPF). «Нестрогий» вариант

Model-View-ViewModel (MVVM) – архитектурный паттерн, ориентированный главным образом на платформы, поддерживающие связывание данных и элементов пользовательского интерфейса (например, WPF). MVVM сравнительно «молодой» паттерн (впервые представлен Джоном Госсманом в 2005 году [1]).

Использование паттернов «Отложенная инициализация (загрузка)» (Lazy initialization (load)) и «Заместитель» (Proxy) при отображении видео на сайте

Отображением на сайте видео с различных видеохостингов (того же YouTube) сегодня уже никого не удивить. Однако, если на странице находится не одно видео, а несколько возникает не совсем приятная ситуация.

Использование паттерна «Сценарий транзакции» (Transaction script) на примере работы с 1С в C#

«Сценарий транзакции» (Transaction script) один из простейших паттернов, представленных в книге Мартина Фаулера «Архитектура корпоративных программных приложений». Однако, несмотря на всю свою простоту, он имеет важное практическое значение. Данный паттерн позволяет организовать бизнес логику сложного процесса в одной процедуре (функции) и при этом, в случае необходимости, обеспечить соблюдение в этом

Паттерн «Мост» (Bridge) Описание и пример реализации

Паттерн «Мост» предназначен для оптимизации сложных структур объектов. Его смысл в том, чтобы разделить абстракцию и реализацию таким образом, чтобы они могли изменяться независимо друг от друга. Это даёт весьма положительный эффект, когда абстракция и реализация должны расширяться новыми подклассами или меняется не только сам объект, но и функции, которые