Вероятно, самый важный из них: не придерживаться центрального, фундаментального принципа модели предметной области и ее представления в повсеместном языке. Имея множество технологических опций, вам очень легко заполнить ORM, MVC-фреймворки, ajax, sql vs nosql, ... Так много, что остается мало места для реальной проблемы, которую вы пытаетесь решить.
И это ключевое сообщение DDD: не надо. Вместо этого в первую очередь сосредоточьтесь на проблемном пространстве. Создайте модель домена, лишенную архитектурного беспорядка, которая захватывает, выставляет и передает домен.
Да, и еще один: думая, что вам нужны доменные службы для всего, что вы можете сделать в доменной модели. Нет. Вы должны всегда сначала пытаться поместить доменную логику с типом Entity / Value, которому она принадлежит. Создавать доменные службы следует только тогда, когда вы найдете функции, которые не принадлежат к E / V. В противном случае вы получите модель анемичного домена, выделенную в другом месте.
НТН.