2015-03-18 5 views
0

Название модели обычно является уникальным именем какого-либо объекта. И имя таблицы - это множественная форма слова. Например, Transaction хранится в таблице transactions.Как мне назвать мою модель, если таблица описывает журнал (учет)?

Но есть случаи, когда целая таблица описывается сингулярным словом, означает область сущностей. Например: журнал, журнал, история. И нет более точного имени для одной строки, кроме «entry» или «item». Но модель с именем ThingsJounralEntry выглядит беспорядочной, и простой ThingsJournal запутан, потому что экземпляр не описывает какой-либо фактический журнал, кроме отдельной записи.

Существует ли общий подход к именованию для таких случаев лучше, чем описано выше?

+0

Имеет ли ваш журнал учетные записи? Если это так, я бы использовал 'AccoutingEntry' или' AccountingRecord' (я не носитель языка, поэтому я не уверен, что такое бухгалтерский журнал.) –

+0

@LeandroCaniglia благодарит, это вполне правильное направление для перемещения. Просто нужно подумать, что на самом деле есть один элемент, а не вся коллекция. Суффикс 'Record' соответствует одному из моих фактических случаев. – Arantir

ответ

0

Ваш вопрос, кажется, показывает, что в танце есть две проблемы с именами. Один касается элементов вашей коллекции, которые вы задаете явно. Другой относится к самой коллекции, что довольно неявно. Фактически, когда вы ссылаетесь на Journal, вы вынуждены разъяснять (бухгалтерский учет). Это означает, что ваш класс коллекции будет лучше назван AccountingJournal,, который устранит двусмысленность.

Теперь, поскольку описание, которое вы предоставляете для этих объектов (коллекция и элементы), немного кратким, у меня недостаточно информации, чтобы предложить соответствующее имя. Однако, чтобы дать вам несколько советов, я бы рекомендовал рассмотреть не только природу элементов, но и ответственность, которую они будут иметь в вашей модели. Будут ли они представлять объекты или действия? Если элементы - это сущности (вещи), рассматривают имена, которые обозначают простые существительные, которые будут реплицироваться или быть знакомы с языком, используемым бухгалтерами. Примеры включают AccountingEntry или AccountingRecord. Если ваши элементы представляют действия, то используйте суффикс, который подчеркивает такую ​​характеристику, например AccountingAnnotation или AccountingRegistration.. Другой вопрос, который вы можете задать себе, - какие сообщения получат эти элементы? Например, если они будут представлять сложение и вычитание денег вы можете использовать AccountingOperation или AccountChange.

Какой бы ни была ситуация продиктована домена, вы должны убедиться, что ваши соглашения об именах звука в предложениях сказал реальными экспертами в предметной области: «[это это учетная запись [что-то] »или« добавить эту учетную запись в журнал »или« зарегистрировать эту учетную операцию в журнале »или даже« это учетная операция для вычитания этой суммы денег »и т. д.

Интеллектуальная деятельность по присвоению имен объектов напрямую связана с деятельностью по формированию вашей модели. Осуществите свою перспективную модель в своей голове, произнеся вслух сообщения, которые они обычно получают, и убедитесь, что язык, который вы формируете, тесно воспроизводит язык домена. Другими словами, пусть ваши объекты говорят и слышат, что они говорят, они расскажут вам свои имена.

Смежные вопросы