Capítulo 16. Interfaces con las funciones
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
En Java, utilizamos interfaces para especificar un contrato entre el código que define alguna funcionalidad y el código que la necesita. Esas interfaces acoplan a las dos partes, lo que puede hacer que nuestro software sea más difícil de mantener. ¿Cómo ayudan los tipos de función a resolver este problema?
Imagina, si puedes, que necesitas enviar correo electrónico desde algún código que estés escribiendo. Sólo eso por ahora-no recibir correo, ni listar mensajes enviados-sólo disparar y olvidar.
El código que describe el correo electrónico es bastante sencillo:
dataclass(valto:EmailAddress,valfrom:EmailAddress,valsubject:String,valbody:String)
Dado un Email, al código cliente le gustaría llamar a la función más sencilla posible para enviarlo, que es
funsend(:){...}
Por supuesto, cuando ponemos en práctica esta función, descubrimos que para enviar realmente el correo electrónico, necesitamos todo tipo de información adicional. No información sobre el correo electrónico en sí, sino más bien la configuración sobre cómo enviarlo. Cosas como el nombre de host del servidor de envío y las credenciales de seguridad, todas esas cosas que tu pariente no técnico no sabe, pero que tú necesitas para configurar su nuevo ordenador. Añadiremos tres parámetros adicionales a sendEmail para sustituir toda ...