Вы принимаете «это повысит производительность» как данность, но вы действительно уверены в этом?Структуры работают лучше, чем классы в очень специфических обстоятельствах.Я обобщаю для простоты, но сценарии в основном таковы:
- Они неизменны.
- Они маленькие, например, обычно не более 3 - 4 полей.
- Вы генерируете тонн (часто миллионы или более) из них в течение чрезвычайно короткого промежутка времени.
- Вы работаете с ними в тесных циклах.
- Пути кода, по которым они проходят, оптимизированы для этих конкретных структур и не выполняют операций упаковки / распаковки.
Есть и другие, но это только у меня в голове.И даже тогда мы говорим о зачастую незначительном приросте производительности.Как в микросекундах минут.
Даже если вы можете гарантировать, что ваши модели представления неизменны и крошечны, другие условия не выполняются.Предполагая одну модель просмотра на запрос, ваш веб-сервер не будет обрабатывать миллионы запросов в секунду.Кроме того, инфраструктура MVC не работает с ними в тесных циклах и не содержит путей кода, оптимизированных для этой конкретной структуры.В результате инфраструктура MVC в результате выполнит тонны операций по упаковке / распаковке для ваших типов значений.
Итог - не оптимизируйте и не переусердствуйте в своем решении.Классы просто отлично.А когда речь идет об оптимизации, всегда измеряет , чтобы убедиться, что вы посвящаете свое время стоящему предприятию.Не беспокойтесь о мелочах, когда нужно жарить больше рыбы.