Правильный способ определения ограниченных контекстов?

Я пытаюсь практиковать Domain-Driven Design в личном проекте. У меня есть образец домена, который я пытаюсь разделить в ограниченных контекстах.

Я был почти уверен, что знаю, как это сделать, но, определив их, я начал чувствовать в них неуверенность.

Как я узнаю, что они хорошо определены? Как я могу определить, что я делаю неправильно?


person SuperJMN    schedule 20.10.2014    source источник
comment
Можете ли вы опубликовать пример того, что у вас уже есть, и что, по вашему мнению, вы могли сделать неправильно или могли бы сделать лучше?   -  person Adrian Thompson Phillips    schedule 20.10.2014
comment
Вы можете изучить возможность проведения сеанса EventStorming jefclaes.be/2014/05/ ncrafts-eventstorming-slides.html Это часто позволяет больше узнать о ваших ограниченных контекстах.   -  person JefClaes    schedule 21.10.2014


Ответы (1)


К сожалению, нет возможности сказать. Нет никаких правил, чтобы определить, является ли ограниченный контекст правильным или нет. Вам придется использовать имеющиеся у вас знания о предметной области и опыт (путем проб и ошибок), чтобы достичь того, чего вы хотите.

Даже при моделировании в BC вы обнаружите, что вам нужно переосмыслить некоторые варианты выбора по ходу дела.

Если вы чувствуете себя неуверенно, это, вероятно, признак того, что это может быть неправильно или что вам нужно больше опыта в этой области. Вам даже может потребоваться дополнительный BC или общее ядро. Дело в том, что эти вещи сложны.

Помните, что AR в одном ограниченном контексте может отображаться как VO в другом, так что это может вас немного сбить с толку. Поскольку это личный проект, вы можете реализовать то, что у вас есть, и поэкспериментировать с разными идеями, чтобы увидеть, что лучше подходит. Однако, поскольку у вас может не быть четко определенного домена, это может усложнить задачу.

Вы даже можете оказаться в ситуации, когда вы разделились на слишком много BC, поэтому вам может потребоваться объединить некоторые артефакты.

person Eben Roux    schedule 21.10.2014