Я использую Delphi, но я считаю, что этот вопрос подходит для любого объектно-ориентированного языка программирования.
Когда я должен использовать записи над объектами. Раньше я думал, что вы используете записи, когда у вас есть простое определение набора связанных данных, которые вы хотите хранить вместе, и которые не должны быть в состоянии манипулировать собой. Однако каждый раз, когда я решил, что часть данных должна быть помещена вместе с другими данными в запись, я приходил к причинам, почему это должен быть полностью унесенный объект.
- Почти всегда существует причина, по которой часть данных нуждается в некоторых свойствах или методах.
- Управление объектами (создание и уничтожение) намного, намного проще с объектами (по крайней мере, в Delphi).
- Использование объектов, вероятно, не дороже с точки зрения скорости и памяти, но гораздо более гибко.
Фактически, я недавно пришел к выводу, что, возможно, единственный раз, когда вы должны использовать записи над объектами в современных приложениях, это когда вы читаете двоичный файл с диска, который может быть считан непосредственно в массив записей.
Я унаследовал 10-летний проект, который широко использует записи для объектов для небольших фрагментов данных, и мне интересно, это только я или эти концепции должны быть отправлены в корзину опыта.
Обсудить.