Рубрика «DDD» - 2

Это статья является адаптацией моего выступления на конференции UfaDevConf 2025.

Представьте, что вы работаете в логистике. У вас десяток интеграций: маркетплейсы, партнёры, внутренние сервисы. Каждый из них присылает запросы на создание Отправления в пункт выдачи заказов (ПВЗ). У Отправления есть вес. Один партнёр шлёт вес в граммах. Второй — в килограммах.

Читать полностью »

Последние 5 лет я изучаю и практикую DDD как стратегический, так и тактический, везде, где представляется возможным. И вот чем больше я погружался в тактическую часть - тем чаще возникал вопрос "это я дурак или лыжи не едут". Пришло понимание того, что огромнейшая часть сообщества структурирует код своего контекста забыв о самом главном:

Структура и язык кода должны соответствовать бизнес-домену

Читать полностью »
Адский эксперимент: личный сайт на нищих микросервисах - 1

Микросервисы тут, микросервисы там… Из каждого утюга доносится дивный сказ про прекрасный мир микросервисов. А ведь это всего лишь один вид из десятка архитектурных стилей, который имеет свои достоинства и недостатки.

Читать полностью »

Речь пойдет о тестировании. О культуре, которая меняет качество продукта.

В этом материале обсуждается:

  • Как превратить автотесты в живую документацию(как техническую, так и аналитическую).

  • Как сделать так, чтобы они рассказывали о предметной области.

  • И в конце концов, проверяли, что все это работает.

Введение. Как появился данный материал

Я решил поделиться с коллегами некоторыми фишками, которыми пользуюсь при разработке тестов в проекте.
Первый черновик статьи мне не понравился. Никак не мог найти причину почему делюсь этим. И в один вечер, наконец, понял... Читать полностью »

Привет!

Данная статья посвящена описанию реализации учебного проекта. Проект является С++ реализацией сервиса по распределению позиций заказов внутри партий. Исходная реализация данного сервиса представлена на Python в книге «Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура».

Читателю рекомендуется ознакомиться с оригиналом проекта и книгой «Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура».

Содержание

  1. Читать полностью »

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

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

Лучше всего это два подхода понимаются в слоистой архитектуре(слой презентации, доменный, инфраструктура, приложение - те, которые на текущий момент я использую в итоговом примере).

DTO(Data Transfer Object)

DTO - это объект класса необходим для передачи структурированнойЧитать полностью »

Рисунок 0. Как я писал статью на Хабр

Рисунок 0. Как я писал статью на Хабр

Введение: Проблемы современных Go-проектов

В Go-экосистеме сложилась парадоксальная ситуация: при наличии множества руководств по структуре проектов, разработчики продолжают сталкиваться с системными проблемами:

Читать полностью »

В этой статье мы повторим основные концепции предметно-ориентированного проектирования (Domain-Driven Design, DDD) и покажем, как с помощью jMolecules можно выразить технические аспекты в виде метаданных.

Мы изучим, какие преимущества дает такой подход, а также обсудим интеграцию jMolecules с популярными библиотеками и фреймворками из экосистемы Java и Spring.

Наконец, мы посмотрим на интеграцию с ArchUnit и узнаем, как использовать его для проверки, что структура исходников соответствует принципам DDD.

Цель jMolecules

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

С возникновением первых вычислительных машин предприятия осознали потребность в обработке и анализе информации.

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

Но по мере того как компании накапливали всё больше разнородных сведений, недостатки реляционных баз данных становились всё более явными.

С началом нового тысячелетия мы вступили в эпоху больших данных.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js