¿Los objetos con patrón de peso mosca son inmutables?

Sabemos que el conjunto de cadenas de pasantes de Java se basa en el patrón de diseño Flyweight. También el objeto String es inmutable. ¿Es obligatorio que todos los objetos que usan el patrón Flyweight sean inmutables? . ¿Cuál es la diferencia entre objetos mutables e inmutables en el patrón Flyweight?

Respuesta 1

¿Es obligatorio que todos los objetos que usan el patrón Flyweight sean inmutables?

Puede implementar algo que parezca un peso mosca, pero sus objetos bien podrían ser mutables. Lo consideraría una mala implementación.

Ver los comentarios re. estado invariante aquí .

La inmutabilidad es ciertamente deseable, solo por la naturaleza del uso del patrón de peso mosca. Es posible que sus clientes no sean conscientes de que el objeto que han solicitado / creado se comparte con otros componentes o subprocesos, y tener un objeto mutable en ese escenario podría ser problemático.

Respuesta: 2

Tengo una lista de cadenas que quiero mostrar en una tabla HTML distribuida de la manera más uniforme posible en un número específico de columnas. public String toHtmlTable (Colección <String> valores, int ...

Estoy a punto de comenzar a aprender a codificar la GUI. Ahora sé que es mejor si lo codifica a mano por primera vez para comprender los conceptos. Mi pregunta es la siguiente: ¿Necesito deshabilitar el generador de GUI ...

Estoy escribiendo una aplicación Java donde, cuando los datos cambian, una imagen debe cambiar, mis colegas me piden que haga un programador en el que debe llamar a get api cada 1 segundo. Mi sugerencia es ...

Tengo ese código: Stream <Supplier <String>> stream = Stream.of (() -> "str"); stream.map (Proveedor :: get) .findFirst (); Lo que naturalmente quería hacer era: Stream.of (() -> "...