Вопросы с тегом «domain-driven-design»

Проектирование на основе доменов (DDD) - это подход к разработке программного обеспечения для сложных задач путем соединения реализации с развивающейся моделью.

8
Когда примитивная одержимость не является запахом кода?
Недавно я прочитал множество статей, в которых примитивная одержимость описывается как запах кода. Есть два преимущества избегания примитивной одержимости: Это делает модель предметной области более явной. Например, я могу поговорить с бизнес-аналитиком о почтовом индексе вместо строки, содержащей почтовый индекс. Вся проверка выполняется в одном месте, а не в приложении. …

2
Как именно команда CQRS должна быть проверена и преобразована в объект домена?
Я уже довольно давно адаптирую CQRS 1 для бедного человека, потому что мне нравится его гибкость, позволяющая хранить детализированные данные в одном хранилище данных, предоставляя большие возможности для анализа и, таким образом, увеличивая ценность для бизнеса и, при необходимости, другую для операций чтения, содержащих денормализованные данные, для повышения производительности. , …

5
Позволяют ли ORM создавать модели богатых доменов?
После использования Hibernate в большинстве моих проектов в течение примерно 8 лет я попал в компанию, которая не одобряет его использование и хочет, чтобы приложения взаимодействовали с БД только через хранимые процедуры. После того, как я делал это в течение нескольких недель, я не смог создать богатую модель предметной области …

3
Концептуальное несоответствие между DDD Application Services и REST API
Я пытаюсь разработать приложение, которое имеет сложный бизнес-домен и требует поддержки REST API (не только REST, но и ориентированного на ресурсы). У меня есть некоторые проблемы, связанные с поиском модели предметной области, ориентированной на ресурсы. В DDD клиентам доменной модели необходимо пройти процедурный уровень «Службы приложений», чтобы получить доступ к …

2
Анемичные доменные модели и внедрение доменных сервисов
Модель анемичного домена описана Мартином Фаулером как анти-шаблон в дизайне, управляемом доменом. Чтобы иметь бизнес-логику в доменных моделях, часто используются доменные службы. Но внедрение доменных служб в доменные модели считается вредным для Вона Вернона (см. «Внедрение доменного дизайна», стр. 387). На мой взгляд, эти мнения противоречивы, правда ли это? Как …

3
Реляционные базы данных и итеративная разработка
Во многих подходах к разработке программного обеспечения, таких как гибкие методологии, доменно-ориентированное проектирование и объектно-ориентированный анализ и проектирование, нам предлагается использовать один итеративный подход к разработке. Таким образом, мы не должны делать нашу модель предметной области в первый раз, когда мы начнем работать в проекте. Вместо этого, со временем мы …

4
Как постоянство вписывается в чисто функциональный язык?
Как шаблон использования обработчиков команд для работы с постоянством вписывается в чисто функциональный язык, где мы хотим сделать код, связанный с IO, как можно более тонким? При реализации доменно-управляемого проектирования на объектно-ориентированном языке обычно используется шаблон Command / Handler для выполнения изменений состояния. В этом дизайне обработчики команд располагаются поверх …

8
Неизменные объекты и DDD идут вместе?
Рассмотрим систему, которая использует DDD (также: любую систему, которая использует ORM). Смысл любой системы реалистично, почти в каждом случае использования, состоит в том, чтобы манипулировать этими объектами домена. В противном случае нет никакого реального эффекта или цели. Изменение неизменяемого объекта приведет к тому, что он сохранит новую запись после того, …

3
Как обрабатывать ошибки после проверки в команде (DDD + CQRS)
Например, когда вы отправляете форму регистрации, вы должны подтвердить Domain Model( WriteModelв CQRS), что она находится в действительном состоянии (например, синтаксис адреса электронной почты, возраст и т. Д.). Затем вы создаете Commandи отправляете его Command Bus. Я понимаю, что Команды не должны ничего возвращать. Итак, как вы справляетесь с ошибкой …

3
Руководство по структуре проекта многоуровневого приложения MVVM, DDD и WPF
Я пытаюсь настроить структуру своего приложения в VS, и я хочу "попробовать" и в будущем доказать это на разумном уровне. Это приложение будет переписано в WPF старого приложения Winform, которое не соблюдало никаких соглашений. Нет слоев, ярусов, сокращений и т. Д. Это довольно простое корпоративное приложение. Я планировал использовать Linq …

2
Является ли DDD-Lite языком шаблонов для внедрения зависимостей?
Я наткнулся на выступление Грега Янга 7 Причины, по которым проекты DDD терпят неудачу, когда он упоминает нечто, что он называет DDD-Lite, в 7:20. Подводя итог, он в основном говорит, что некоторые используют DDD в качестве шаблонных языков (сущностей, репозиториев, объектов значений, сервисов и т. Д.), Не делая ничего другого, …

5
Является ли плохой практикой для служб совместное использование базы данных в SOA?
Недавно я читал «Образцы корпоративной интеграции» Хопе и Вульфа, некоторые из книг Томаса Эрла по SOA, а также смотрел различные видео и подкасты Уди Дахана и других. в CQRS и управляемых событиями системах. Системы на моем рабочем месте страдают от высокого сцепления. Хотя теоретически каждая система имеет свою собственную базу …

3
При использовании DDD и CRQS должно быть ровно одно событие на команду?
Я ищу способ разработки приложения DDD с соглашением по конфигурации. Скажем, агрегат «Клиент» имеет команду, определенную как «FillProfile». Это будет логически вызывать событие «ProfileFilled». Существуют ли случаи, когда команда будет вызывать больше, чем событие, или когда команда будет вызывать различные события на основе некоторой логики? Или это всегда отношение 1 …

2
DDD ограниченные контексты и домены?
Я работал в относительно сложном приложении с десятками таблиц базы данных (агрегаты, сущности / объекты значений) и применял DDD. На данный момент это, по-видимому, в основном DDD-Lite, означающий, что существуют прикладные / доменные службы, модель предметной области (сущности, объекты-значения) и репозитории. Я взял книгу « Внедрение DDD», и первое, что …

1
Является ли Domain Driven Design полезным / продуктивным для не очень сложных доменов?
Оценивая потенциальный проект на работе, я предположил, что было бы выгодно использовать подход к проектированию на основе предметной области для его объектной модели. У проекта нет слишком сложного домена, поэтому мой коллега бросил в меня это: Было сказано, что DDD является благоприятным в тех случаях, когда существует модель сложной области …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.