Вопрос моделирования DDD - помогите придумать несколько хороших имен - PullRequest
2 голосов
/ 30 мая 2011

Я считаю, что имена очень важны, чтобы понять правильно.Это помогает прояснить ситуацию, и я считаю, что логика направлена ​​в правильные места, когда у вас есть четкое представление о том, что такое абстракции и как они называются.

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

Проблема: Вот 3 концепции модели, но яне знаю, какие для них будут лучшие имена.

  1. Пользователи могут создавать курсы или программы обучения.Это шаблон того, из чего состоит курс, но это не сам курс.Имеет ли это смысл?Он содержит всю информацию, которая будет в курсе ... точно так же, как класс содержит все данные / методы для объекта.Это как «мета» курса.Лучшие имена, которые я могу придумать: LearningProgram или CourseTemplate

  2. Компании / учебные заведения могут создавать курсы.Эти курсы основаны на шаблоне в пункте 1. Это РЕАЛЬНЫЕ курсы - то есть, у них есть реальная дата, и реальные люди действительно регистрируются / участвуют в них.Я думаю, лучшее имя, которое я могу придумать, это Course.Это указывает на одну из моделей в пункте 1.

  3. Люди могут проходить курсы, но у них есть собственная копия курса, которая применяется только к ним, поэтому нам нужна модель длядом всей конкретной информации, относящейся к этому курсу.Это в основном отношения «многие ко многим» с Course в пункте 2. Лучшие имена, которые я могу придумать, это ActiveCourse, CourseInstance, CourseProgress, CourseParticipant

Мне совсем не нравятся мои имена.Может кто-нибудь помочь мне придумать 3 лучших имени?

1 Ответ

1 голос
/ 31 мая 2011

Хороший вопрос.Как насчет CourseDescription, CourseOffering и CourseEnrolement?

Обоснование:

(3) действительно является отношением "Человек зачислен на курс " (какВы отметили).

(2) также является отношением: «Курс предлагает Организация».

hth.

...