public record Source1ProductDto and use annotations like JsonPropertyName for each data source and let System.Text.JsonSerializer handle it. However, for more complex types like Price I might need to combine data from several fields of the original data to parse it into my custom format. My current approach is to use some type of strategy pattern for each field by using this interface: