Структуры обычно используются для неизменяемых данных, например, номера телефона, который не изменяется, но вместо этого вы получаете новый (например, число 000, становящееся 0001, будет означать два отдельных числа).
Однако такие фрагменты информации, как Name, строка, могут либо видоизменяться (компания abc меняет свое имя на abcdef или получает новое имя, например def). Для таких полей, как я полагаю, они должны находиться в изменяемом классе, а не в неизменной структуре?
Мой способ структурирования кода состоит в том, чтобы иметь неизменную концепцию, такую как Address (любое изменение - это полностью новый адрес), в структуре, а затем ссылаться на нее из класса, такого как Customer, поскольку у Customer всегда есть адрес. Поэтому я бы поместил CompanyName или Employer в класс, поскольку он изменчив. Но имя может либо видоизменяться и быть таким же 1 экземпляром, либо новым именем, хотя компания все еще владеет первым именем.
Будет ли правильный шаблон для назначения нового экземпляра (например, имя новой компании, но старое имя все еще принадлежит компании)?:
string name = "";
string newName = new string();
newName = "new";
name = newName;
А мутация просто стандартная схема присваивания?
Спасибо