Чистый код – чистая планета: Практики энергоэффективной разработки

Чистый код – чистая планета: Практики энергоэффективной разработки

Всем привет! Сегодня хочу поднять вопрос энергоэффективности наших приложений. В эпоху экспоненциального роста вычислительных мощностей все больше внимания уделяется вопросам энергопотребления и снижения воздействия на окружающую среду. В этом контексте энергоэффективность и энергосбережение превращаются в ключевой и стратегический приоритет для IT…

От хаоса к порядку: принципы построения масштабируемых систем

От хаоса к порядку: принципы построения масштабируемых систем

Всем привет! Вы когда-нибудь работали с системой, которую боялись трогать? Где каждое изменение вызывало лавину багов, а обновление базы данных превращалось в операцию с многодневным даунтаймом? Я тоже. И чаще всего виной всему — не плохие разработчики, а слабая архитектура.

Hexagonal Architecture / 3.2. Добавляем API списка и создания мастера

Сервисный слой

В предыдущей части мы рассмотрели доменный слой нашей функциональности. Настало время переходить к сервисному слою.

Hexagonal Architecture / 3.1. Добавляем API списка и создания мастера

Что будем делать

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

Hexagonal Architecture

Картинка с сайта Роберта Мартина (https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)

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

Hexagonal Architecture / 2. Hexagonal architecture skeleton

Когда DDD превращается в спагетти на стероидах: типичные ошибки в Aggregates и Entities

Когда DDD превращается в спагетти на стероидах: типичные ошибки в Aggregates и Entities

Domain-Driven Design (DDD) — мощный подход к проектированию сложных систем, который обещает порядок в сложных бизнес процессах, однако он также скрывает ряд ловушек, связанных с проектированием агрегатов (Aggregates), сущностей (Entities). Без должного внимания к процессу легко допустить ошибки, способные привести к спагетти коду на стероидах. Расс…

Как неправильное определение Bounded Context в DDD может сломать архитектуру: типичные ошибки и как их избежать

Как неправильное определение Bounded Context в DDD может сломать архитектуру: типичные ошибки и как их избежать

Впрошлый раз мы разобрали, как избежать ошибок при формировании Ubiquitous Language. Сегодня разберем какие ошибки могут возникнуть при определении Bounded Context.

1