- Стоит ли хранить эти поля в объектах? Да
- Должны ли эти объекты храниться в коллекции (например, в массиве)? Да
- Имеет ли смысл сохранить эту коллекцию в файле? Да
По сути, вы просите выбрать альтернативу среди вещей, которые на самом деле не сопоставимы, тем более взаимоисключающие. Как показывают комментарии, не забудьте прочитать об объектно-ориентированном программировании, но вот краткое объяснение каждого из вышеперечисленных:
Объекты предоставляют структурированный способ хранения информации (давая каждому полю имя и тип, для начинающих) и способ для языка / компилятора реализовать эту структуру. Хранение всех связанных данных для сущности в объекте - это отличная идея, вы почти никогда не захотите иметь группу членов для этой цели.
Массивы или, в более общем случае, коллекции - это группы "вещей". Вы могли бы хранить всю эту информацию в массиве вместо объекта (и тогда для нескольких записей имелись "параллельные" массивы ", но это очень грязный и любительский метод). Однако коллекция ваших объектов это вполне разумная вещь (вам не нужны переменные object1
, object2
, object3
в вашем коде).
Файлы важны, потому что и объекты и коллекции (которые сами по себе являются объектами) хранятся в памяти , они исчезнут при закрытии приложения. Файлы (и аналогичные им, например, базы данных) дают вам возможность сохранить их (следовательно, такие методы называются «постоянным» слоем). Затем вы можете загрузить сохраненные данные в новый экземпляр вашей программы (например, если пользователь перезагружает компьютер).
Дополнительное примечание: я должен сделать методы для получения / установки этих переменных? нет Нет .
Просто используйте свойства (т. Е. public string Address {get; set;}
). Они предоставляют как вспомогательное поле (по крайней мере, со свойством auto, как указано выше) и являются синтаксическим сахаром для методов get и set (которые можно переопределить с помощью свойства full).
В качестве бонуса, если вы используете WPF, вы можете автоматизировать заполнение свойств из пользовательского интерфейса с помощью привязки данных, но это вопрос другого дня:).