Capítulo 14. Acumular Objetos a Transformaciones
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Los programas Java suelen depender en gran medida del estado mutable porque en Java es muy arduo definir tipos de valores y transformar valores, incluso con la API Streams. ¿Cuál es la mejor forma de traducir código Java que depende de objetos mutables y efectos secundarios a código Kotlin que transforma valores inmutables?
Cálculo con parámetros de acumulador
Una de las cosas más importantes que nuestros viajeros quieren saber es cuánto costarán sus aventuras. Los viajes internacionales complican bastante esta cuestión. Un viaje incurrirá en costes en múltiples monedas a medida que atraviesa fronteras, pero el viajero quiere poder comparar los costes totales para tomar decisiones sobre rutas y dónde alojarse.
Así que Travelator resume los costes por moneda local y por la moneda preferida del viajero, y luego muestra el total general en la moneda preferida. Para ello utiliza las clases CostSummary y CostSummaryCalculator. Veamos cómo se utilizan, y luego veremos su implementación.
La clase Itinerary tiene una operación para resumir sus costes con un CostSummaryCalculator. Se utiliza así:
valfx:ExchangeRates=...valuserCurrency=...valcalculator=CostSummaryCalculator(userCurrency,fx)funcostSummary ...