На пути к просветлению натолкнулся на такой термин, как Domain-Driven Design.
Концепции понравились, решил углубится. Прочёл книгу Эванса и ещё одну книгу Нильссона.
Конечно некоторые знания были не до конца понятны и я решил оставить их до того момента, как начну кодить экспериментальные проекты.
И собственно тут я и увяз. В книгах/статьях очень много рекомендаций, но связанны они очень слабо и в конце концов я не могу составь даже элементарную, но конечную архитектуру.
Первое что пришло на ум, найти чьи-то другие реализации на основе DDD. Но и тут я не нашёл чего-то действительно понятного.
Возможно я что-то пропустил или не понимаю, но очень бы хотелось посмотреть и поиграться с таким кодом…
Возможно кто-то знает где взять такой код? ( желательно .Net :) )
Самая вменяемая реализация dddsamplenet.codeplex.com/, там тоже в ссылках проскакивает. Еще можно взять семплы MassTransit'a Криса Паттерсона, там очень серьезный подход к DDD. В целом по опыту скажу, что не стоит воспринимать DDD как панацею и набор правил — это всего-лишь советы как лучше сделать. В случае, когда при разработке архитектуры берется книжка и пытаются сделать по пунктам, выходит Франкенштейн, который такой же нежизнеспособный.
Многие исходники из ссылки так и не дали многих ответов… К сожалению они отражают лишь 10% того, что можно найти в 2 книгах из моего вопроса. Однако я обещаю посмотреть их ещё раз :)
dddsamplenet.codeplex.com тоже не пробовал.
Не спорю что DDD решит все проблемы, но есть конкретные слова о слоях и их связи, о некоторых паттернах, тестах, простейших моделей. Но всего этого в одном коде я до сих пор не смог найти.
Спасибо за ссылки. Если получу результат, обязательно напишу полезную статью :)
Читал ваши статьи, но понял что начинаю уходить от DDD. Не хорошо бросать что-то на середине пути, но CQRS+ES в списке следующие. Спасибо, обязательно ещё свяжусь.
Да в статьях и в примере много именно об инфраструктуре. Вам бы какой-нибудь фреймворк где в основном работа только над доменом. Такие есть. Вообще на мой взгляд CQRS действительно очень хорошо реализует DDD принципы и позволяет максимально абстрагироваться от инфраструктуры. Правда придется вникнуть в сам CQRS и понять вообще зачем нужно это разделение на две модели запись и чтение.