Зачем нужен подход Event Storming ?

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

Не важно, внтутренний или внешний заказчик, не важно будет in-house или outsource разработка, вначале требуется понять ЧТО требуется сделать, КАКИЕ объекты будут в будущей системе и КАКИЕ сценарии должны происходить. И  если ваше будущее приложение немного сложнее, чем красная кнопка с функционалом оставить отзыв, то в сложном бизнес-процессе будет присутствовать большое количесство объектов и вариантов сценариев с ними.

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

И для такого моделирования уже существуют способы разной степени сложности и затратности по времени, но на их фоне очень выгодно выделяется подход Event Storming, введеный итальянским программистом Альберто Брандолини, успешно используемый им в контексте DDD.

Читать далее

Принципы проектирования SOLID за 7 минут.

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

Читать далее