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

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

3
DDD: где разместить обработчики событий домена?
Не могли бы вы высказать свое мнение о том, какой слой подходит для размещения обработчиков событий домена в DDD? Например, у меня есть служба приложений для добавления нового контракта, и я хотел бы отправить уведомление по электронной почте контактному лицу, когда контракт будет добавлен, так же как и служба отправки …

2
В DDD доменная служба по сути является просто шаблоном фасада и / или посредника?
В домене, управляемом дизайном, уровень домена может иметь несколько (традиционных) сервисов. Например, для пользовательского домена мы можем иметь: UserFactory, который строит объекты User различными способами. UserRepository, который отвечает за взаимодействие со службами постоянства на уровне инфраструктуры Является ли UserService на уровне домена просто посредником и / или фасадом для этих …

6
DDD встречает ООП: Как реализовать объектно-ориентированный репозиторий?
Типичная реализация хранилища DDD выглядит не очень хорошо, например, save()метод: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Инфраструктурная часть: package com.example.infrastructure; // imports... public class JdbcProductRepo implements ProductRepo { private …

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

2
Могут ли объекты Persistance-Ignorant реализовать ленивую загрузку?
Постоянное невежество - это применение принципа единой ответственности, который на практике означает, что доменные объекты ( DO ) не должны содержать код, связанный с постоянством, вместо этого они должны содержать только доменную логику. а) Я предполагаю, что это означает, что код, который связывается с нижними уровнями (то есть уровнями персистентности), …

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

4
Как избежать раздутых доменных объектов
Мы пытаемся переместить данные из нашего раздутого уровня Service в наш уровень Domain, используя подход DDD. В настоящее время в наших сервисах много бизнес-логики, которая распространена повсеместно и не получает наследства. У нас есть центральный класс Domain, который находится в центре большинства нашей работы - Trade. Объект Trade будет знать, …

5
Если шаблон репозитория избыточен для современных ORM (EF, nHibernate), что является лучшей абстракцией?
Недавно я прочитал множество аргументов против использования шаблона репозитория с мощной ORM-подобной Entity Framework, поскольку она включает в себя функциональность, подобную репозиторию, а также функциональность Unit of Work. Еще один аргумент против использования шаблона для ситуации, такой как модульное тестирование, заключается в том, что шаблон репозитория является утечкой абстракции, поскольку …

2
CQRS + Event Sourcing: (верно ли это) Команды обычно передаются точка-точка, в то время как события домена передаются через pub / sub?
Я в основном пытаюсь обернуть голову вокруг концепции CQRS и связанных понятий. Хотя CQRS не обязательно включает в себя Messaging и Event Sourcing, кажется, что это хорошая комбинация (как видно из множества примеров / блогов, объединяющих эти концепции) Учитывая вариант использования для изменения состояния чего-либо (скажем, для обновления Вопроса о …

5
Подводные камни доменного дизайна с Entity Framework
Многие учебники по DDD, которые я изучал, в основном охватывают теорию. Все они имеют примеры элементарного кода (Pluralsight и аналогичные). В Интернете также предпринимаются попытки нескольких людей создать учебники по DDD с EF. Если вы начнете их изучать ненадолго - вы быстро заметите, что они сильно отличаются друг от друга. …

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

3
в DDD должны ли репозитории предоставлять объект или объект домена?
Насколько я понимаю, в DDD целесообразно использовать шаблон репозитория с совокупным корнем. У меня вопрос, должен ли я возвращать данные как объект или объект домена / DTO? Может быть, какой-то код объяснит мой вопрос дальше: сущность public class Customer { public Guid Id { get; set; } public string FirstName …

1
Как команды Add / Create * должны обрабатываться в архитектуре CQRS + Event Sourcing
Я хочу реализовать свое первое приложение, используя шаблон CQRS вместе с Event Sourcing. Мне интересно, как с созданием совокупных корней нужно обращаться правильно. Допустим, кто-то отправляет команду CreateItem. Как это должно быть обработано? Где должно храниться событие ItemCreated? Как первое событие нового предмета? Или у меня должна быть какая-то сущность …

1
Разработка модульного сервисного приложения
Я смотрю на разработку нового решения, которое по своей природе является очень модульным, и мне хотелось бы создать структуру, поддерживающую этот дизайн, чтобы облегчить расширение в будущем, четкое разделение проблем, лицензирование по модулям и т. Д. В Интернете я обнаружил, что модульные или составные приложения ориентированы на пользовательский интерфейс, ориентированы …

2
Исключения в DDD
Я изучаю DDD, и я думаю о создании исключений в определенных ситуациях. Я понимаю, что объект не может войти в плохое состояние, поэтому здесь исключения хороши, но во многих примерах исключения также создаются, например, если мы пытаемся добавить нового пользователя с существующей электронной почтой в базе данных. public function doIt(UserData …

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