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