Соглашения о присвоении имен классам уровня представления и модели предметной области - PullRequest
3 голосов
/ 01 августа 2010

Какие соглашения об именах вы используете для классов модели предметной области и классов уровня представления?Постфиксы / префиксы, чтобы отличить цель класса от первого взгляда:

Например, информация о человеке, которая возвращается из DAL, может быть

public class PersonEntity 
{
  public Guid Id { get; set; }
  public SexType Sex { get; set; }
  public Date Birthdate { get; set; }
  public string Name { get; set; }
  public string Family { get; set; }
  public string Patronymic { get; set; }
  ...
}

или может быть предпочтительнее PersonData или PersonInfo или что-то более подходящее?

Чем я использую привязку данных для создания соответствующей презентации.Например, SexType следует преобразовать в локализованную строку (Male, Mann, Homme, Hombre, ...) Birthdate в соответствующий формат даты (YYYY.MM.DD, DD.MM.YYYY, ...) и полноеимя в -> Семейный NP

Так что я использую еще один слой классов для представления данных презентации.Что-то вроде

public class PersonDecorator
{
  public string Sex { get; set; }
  public string Date { get; set; }
  public string FullName { get; set; }
}

или может лучше назвать такой класс PersonPresenter, или PersonView, или что-то более подходящее?

Заранее спасибо!

1 Ответ

1 голос
/ 01 августа 2010

Соглашение EntityPurpose для имен классов отлично работает во многих местах, особенно если у вас есть несколько сущностей (люди, автомобили и т. Д.) И несколько слоев (модель, вид, действие и т. Д.).

Я бы назвал ваш класс PersonPresentation.

...