Мне недавно пришлось устранять проблему с производительностью при медленной загрузке сетки. После расследования выяснилось, что кто-то использовал List<Product>
для заполнения сетки. Проблема заключалась в том, что у объекта Product было много свойств, многие из которых не.lazyloads (), большинство из которых даже не нужны для сетки.
Таким образом, чтобы решить эту проблему, я создал новый объект с именем ProductLite, который имел только ленивую загрузку, большую часть ключевой информации о соединениях и производительность теперь была отличной. Вместо того, чтобы делать 10 000 ударов, он пошел к 1.
Мой вопрос к SO-сообществу, как вы моделируете свои объекты? Я думал, что все объекты должны иметь версии «details» и «info», поскольку иногда требуется интенсивная загрузка объектов. То есть. ProductDetails будет содержать всю информацию и не будет использоваться в списках, тогда как ProductInfo будет содержать просто информацию высокого уровня для использования в списках, быстрых поисках и т. Д.
Существует ли стандарт, который был принят в качестве наилучшей практики для моделирования объектов?