Quite often, our applications will have fairly sizable data objects, with dozens, or even hundreds of properties. If we were to load all of the properties for each data object when we have thousands of them, our application would slow down and possibly even run out of memory.
We might think that we can save on RAM by simply not populating all of the property values, but if we use the same classes, we'll soon find that even the default or empty values for these properties may consume too much memory. In general and with a few exceptions, unset properties take the same amount of RAM as set properties.
If our data model object has a very large number of properties, one solution would be to break it down into much smaller pieces. For example, we could create a number of smaller, sub product classes, such as
Rather than building one giant View to edit the whole product, we could then...