I have a class that contains insurance benefits. There are many values, such as coverage level percentages, maximums, deductibles, etc. Most of the time, I only need a handful of display friendly properties, which are aggregates of all of the other properties. Other times, I need the values to perform more in-depth calculations.
Currently I use viewmodels to aggregate the properties into a display friendly values. However, each time I use the display friendly properties in a new app, I have to recreate the viewmodel. If I want to change how it's displayed, I have to revisit every app.
I considered either 1)creating a 'ForDisplay' property in the class which is, in effect, a built in view model of sorts. I've also considered a shared viewmodel where I pass the class(model) through a shared view model for transformation.
Is there a better way to make my class maintain it's detail AND it's display friendly values without visiting every app if I need to change something?