title: Presentation layer and domain model classes naming conventions
body: <p>What are the naming conventions you use for application domain model classes and presentation layer classes? Postfixes/Prefixes to distinguish the aim of the class from the first sight:</p>
  
  <p>For example information about the person that is returned from DAL can be </p>
  
  <pre><code>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; }
    ...
  }
  </code></pre>
  
  <p>or may be you prefer <code>PersonData</code> or <code>PersonInfo</code> or something more appropriate? </p>
  
  <p>Than I use databinding to create appropriate presentation. For example <code>SexType</code> should be converted to localized string (Male, Mann, Homme, Hombre, ...) <code>Birthdate</code> to appropriate date format (YYYY.MM.DD, DD.MM.YYYY, ...) and full name into -> Family N.P.</p>
  
  <p>So I use another layer of classes for presentation databindings. Something like </p>
  
  <pre><code>public class PersonDecorator
  {
    public string Sex { get; set; }
    public string Date { get; set; }
    public string FullName { get; set; }
  }
  </code></pre>
  
  <p>or may it's better to name such class <code>PersonPresenter</code>, or <code>PersonView</code>, or something more appropriate? </p>
  
  <p>Thank you in advance! </p>