Итак, на самом деле этот вопрос является моим текущим краеугольным камнем. Я работаю над рефакторингом своего личного проекта, стараюсь повысить производительность, оптимизировать использование памяти, сделать код простым и понятным. У меня разные уровни приложений (на самом деле, 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;
}
Является ли это лучшим способом с точки зрения использования производительности/памяти? Или, может быть, есть какие-то ловушки, действующие таким образом?