Паттерн Спецификация: реальный опыт применения
Четыре года назад на собеседовании я услышал от интервьюера о том, как замечательно паттерн Спецификация помогает справиться с проблемой разрастания репозитория. Я думаю, многие с этим сталкивались, когда количество методов типа getByThisAndThat(…) улетает за десяток, а то и за несколько десятков, и репозиторием становится пользоваться неудобно. Вдохновившись таким позитивным отзывом, я изучил первоисточник и начал экспериментировать с использованием спецификации как со средством упрощения репозитория. В этой статье я дам обзор оригинального паттерна, поделюсь своим неоднозначным четырехлетним опытом его применения (с конкретными примерами кода, разумеется) и выскажу свое мнение как о самом паттерне, так и о применении его (на самом деле, его вырожденного варианта) в репозитории.
Мне лень
Привет Хабр! И как бы это было бы не странно, мне лень - писать это мнение (признаюсь сразу), но появилась у меня эта мысль, на которой я себя поймал, когда открыл рабочий проект (поэтому собственно и пишу сюда). Большая ли мысль?
@Taweret Here's the #DDD for this movie. It's gonna be horror, so make the proper decisions for you! We dont want anyone squicked out. This is meant to be for fun! https://www.doesthedogdie.com/media/10506 Maximum Overdrive (Movie, 1986) - DoesTheDogDie.com
Jeśli nie znacie #EventStorming, to - nawet, jeśli nie zamierzacie go używać - warto poznać koncepcję. A któż może ją lepiej wytłumaczyć niż jej twórca, czyli Alberto Brandolini podczas prezentacji na konferencji?
Domain-Driven Design: чистый подход к проектированию бизнес-логики
Недавно наша команда столкнулась с новым проектом — крупной backend-системой, которую руководство решило реализовать в формате монорепозитория. Масштаб бизнес-логики оказался огромным, и быстро стало понятно, что без четкой архитектурной дисциплины невозможно поддерживать читаемость, изолировать бизнес-логику и эффективно управлять сложностью. Поэтому мы выбрали подход Domain-Driven Design (DDD), при котором домен описывает бизнес-правила, а оркестратор и инфраструктура вынесены в отдельные слои. Меня зовут Рамиль Куватов, я разработчик в VK Tech, и эта статья — попытка описать и систематизировать принципы, которые помогают нам сохранять архитектуру чистой, а систему — устойчивой к изменениям.
New Episode Alert
Not too long ago, Javier and George joined me to discuss #DDD.
What in it is useful?
When is it useful?
What does it solve?
Should you use it?
Listen here: https://open.spotify.com/episode/4FnShypPf7JTyqU2qoLCk2
---
Find Javier on:
LinkedIn: https://www.linkedin.com/in/javier-venegas
Find George on:
LinkedIn: https://www.linkedin.com/in/george-kosmopoulos
Website: http://gkosmo.eu
Summer Sale Alert!
Enjoy 15% OFF on all @TeamTopologies Academy courses and bundles. Use code "SUMMER2025" by August 31st to gain insights into operational constraints, patterns, and thinking tools that accelerate team flow!
We're also extending our summer sale to groups by offering an extra 10% off on current group packages. Don’t miss out!
#TeamDynamics #DDD #EffectiveTeams #FastFlow #TeamTopologies
https://www.wacoca.com/anime/1860339/ デキちゃうまで婚 4 | Deki Chau Made Kon 4 #anime #animegirl #dekichaumadekon #shorts #girl ##Short #+18 #2025Summer #2025SummerAnime #2025年夏開始の新作アニメ #Anime #AnimeShort #Chau #DDD #dddhen #dddhentai #Deki #DekiChauMadeKon #ecchi #GameAnime #GameHentai #girl #harem #hentai #HentaiShort #KON #Loli #made #Sex #waifu #アニメ #デキちゃう #デキちゃうまで婚 #婚 #新作アニメ
https://www.wacoca.com/anime/1860292/ デキちゃうまで婚 3 | Deki Chau Made Kon 3 #anime #animegirl #dekichaumadekon #shorts #girl ##Short #+18 #2025Summer #2025SummerAnime #2025年夏開始の新作アニメ #Anime #AnimeShort #Chau #DDD #dddhen #dddhentai #Deki #DekiChauMadeKon #ecchi #GameAnime #GameHentai #girl #harem #hentai #HentaiShort #KON #Loli #made #Sex #waifu #アニメ #デキちゃう #デキちゃうまで婚 #婚 #新作アニメ
I have just published my follow-up post:
>> Event Sourcing in PHP Symfony <<
It explains how anyone can implement event sourcing in a PHP Symfony project with minimal effort — free from ivory tower views.
Please let me know what you think of the post in the thread, and whether you found my naive implementation resonated with you.
https://lukasrotermund.de/posts/event-sourcing-in-php-symfony
https://www.wacoca.com/anime/1859973/ デキちゃうまで婚 2 | Deki Chau Made Kon 2 #anime #animegirl #dekichaumadekon #shorts #girl ##Short #+18 #2025Summer #2025SummerAnime #2025年夏開始の新作アニメ #Anime #AnimeShort #Chau #DDD #dddhen #dddhentai #Deki #DekiChauMadeKon #ecchi #GameAnime #GameHentai #girl #harem #hentai #HentaiShort #KON #Loli #made #Sex #waifu #アニメ #デキちゃう #デキちゃうまで婚 #婚 #新作アニメ
https://www.wacoca.com/anime/1859925/ デキちゃうまで婚 1 | Deki Chau Made Kon 1 ##Short #+18 #2025Summer #2025SummerAnime #2025年夏開始の新作アニメ #Anime #AnimeShort #Chau #DDD #dddhen #dddhentai #Deki #DekiChauMadeKon #ecchi #GameAnime #GameHentai #girl #harem #hentai #HentaiShort #KON #Loli #made #Sex #waifu #アニメ #デキちゃう #デキちゃうまで婚 #婚 #新作アニメ
GDD: Golf-trip-Driven Design
Мой опыт проектирования архитектуры
Привет! Меня зовут Азамат, я backend-разработчик в Циане. В работе мне часто приходится пересматривать архитектуру компонентов или проектировать её с нуля. Со временем у меня накопились подходы и наблюдения, которыми хочу поделиться. В этой статье расскажу, с чего я обычно начинаю проектирование, какие вопросы задаю себе перед тем, как описывать архитектуру, и какие принципы помогают принимать решения. Материал будет полезен тем, кто хочет влиять на архитектуру в своей команде и ищет, с чего начать.
Domain-Driven Design: ошибки, которые не описаны в книгах
Всем привет! Меня зовут Андрей, уже несколько лет я работаю тимлидом/техлидом в разных компаниях и различных проектах. В последнее время подход Domain Driven Design у всех на слуху. Хотя этот подход развивается уже много лет (с 2003), только сейчас на него обращают активное внимание и многие команды пробуют внедрять его у себя. В этой статье я бы хотел рассказать об ошибках, возникших в процессе внедрения DDD в проектах с моим участием, и рассказать о подводных камнях, с которыми мы столкнулись при реализации, и о которых, к сожалению, мало говорят в книгах и руководствах. Возможно, это поможет вам правильно построить процесс внедрения и развития проектов с использованием подхода DDD.