Mientras construía una gran aplicación multihilo para la industria de servicios financieros, utilicé clases inmutables y un modelo Actor para el flujo de trabajo donde pude. Estoy bastante satisfecho con el resultado. Utiliza una buena cantidad de espacio de montón (está en Java por cierto) pero el GC de JVM funciona bastante bien con clases inmutables de corta duración.¿Cuáles son las debilidades en el uso del modelo Immutability + Actor para la programación de simultaneidad?
Me pregunto si hay algún inconveniente en el uso de este tipo de patrón en el futuro? Al depurar un código de compañeros de equipo, a menudo me encuentro recomendando este patrón de una forma u otra. Supongo que una vez que alguien tiene un martillo, todo parece un clavo. Entonces la pregunta es: ¿Cuándo funcionaría mal este patrón de diseño (paradigma?).
Mi corazonada es cuando el uso de memoria es un gran problema o cuando las restricciones del proyecto requieren algo en la línea de bajo nivel C, etc.
Absolutamente, pero la belleza es que puedes mezclar y combinar, por lo que puedes usar Actores para las comunicaciones y usar cosas como colecciones paralelas, etc. para obtener una potencia informática sin procesar. –
Sí. Eso es exactamente lo que hacemos. Me estaba dirigiendo a la parte 'inmutable '. – paradigmatic