Классы DTO и структуры

Итак, на самом деле этот вопрос является моим текущим краеугольным камнем. Я работаю над рефакторингом своего личного проекта, пытаясь повысить производительность, оптимизировать использование памяти, сделать код простым и понятным. У меня есть разные уровни приложений (на самом деле, DAL, BLL, ServiceAgents, которые являются службами WCF). Я использую Entities/Models/DTO для передачи данных между этими слоями, которые не имеют состояния (вообще не имеют никакой логики). В настоящее время это такие объекты, как этот

public class Person
{
  public ComplexId Id { get; set; }
  public string Name { get; set; }
  // ...
}

Раньше я использовал такой подход, это похоже на «лучшую практику», не так ли? Это лучший способ хранения переданных данных? Что, если я изменю его на structследующим образом:

public struct Peson
{
    public ComplexIdentifier ComplexId;
    public string Name;
}
public struct ComplexIdentifier
{
    public int LocalId;
    public int GlobalId;
}

Будет ли это лучшим способом с точки зрения производительности/использования памяти? А может там какие-то ловушки так действуют?

19
задан Andriy Zakharko 13 June 2012 в 12:07
поделиться