Записи с меткой «DDD»
На сайте скринкастов начинаем программирование доменной модели через практику Event Storming проекта аукциона. Но помимо этого будет крайне полезно рассмотреть примеры из разных предметных областей. Для этого мы проведём большой практический стрим про разделение кода на модули и микросервисы.
Провели ленивый импровизированный стрим на общеполезные темы. Чем неудобен в разработке процедурный код и код без разделения. Какие сложности предметной области обнаруживаются при анализе бизнеса. Про сходства и различия фреймворков. Про использование интерфейсов и классов провайдеров для конфигурирования приложения и для организации гибкой модульности.
До этого мы с вами занимались программированием классических сайтов с шаблонизаторами без интерактива. Мы занимались только PHP и не рассматривали смежные темы. На это раз запишем большую серию скринкастов по разработке под ключ целикового проекта сайта-аукциона с API на микрофреймворке Slim PHP и интерактивным фронтендом на ReactJS.
После нашего отчёта о конференции по разрешению организаторов публикую запись своего доклада на PHP Russia про важность разделения кода и инкапсуляции бизнес-логики в сервисах и сущностях.
Все видеозаписи уроков обработаны, тайм-коды проставлены, вопросы отвечены. Наш самый крупный четырёхмесячный мастер-класс по Symfony завершён. Вот что у нас с вами получилось...
В пятницу и субботу в Москве в центре Digital October и в офисе Action провели DevConf 2018. Было круто! Выступил с докладом о проектировании доменных агрегатов, где показал примеры инкапсуляции бизнес-логики внутрь доменных сущностей и декомпозиции внутренностей по ответственностям.
При разработке с отделением моделей форм от доменных сущностей (чему мы посвятили недавний цикл статей) поначалу возникает неудобство копирования повторяющихся полей из формы в форму. В одном из уроков мастер-класса мы познакомились с одним из решений этого вопроса. Рассмотрим тот код и оформим его в самодостаточное публичное расширение.
В этом цикле статей мы уже разобрались с проектированием сущностей, спрограммировали свой собственный репозиторий и изучили использование Doctrine ORM. В этот раз завершим эксперимент и узнаем, можно ли с минимальным ущербом подружить нетривиальный класс доменной сущности с ActiveRecord ORM проекта на Yii2.
В прошлый раз мы вручную изготовили работающий репозиторий для сохранения доменных сущностей, чтобы более-менее узнать, как работают изнутри различные ORM. В этот раз на основе прошлого опыта рассмотрим готовую библиотеку Doctrine ORM и попробуем интегрировать её в наш проект на Yii2.
После познания дзена на интенсиве по ООП многие просили сделать что-нибудь посущественнее на Yii2 Framework, чтобы применить новые знания на практике. И даже на форуме упомянули, что ждут от меня курс по фреймворку. Как и обещал в блоге, скоро запустим большой многодневный мастер-класс по разработке интернет-магазина на Yii2 с использованием лучших практик.