Saltar al contenido

¿Cuál es la diferencia entre el estado intrínseco y extrínseco como se describe en Patrón de peso mosca?

Hacemos una verificación completa cada noticia de nuestra web con el objetivo de mostrarte en todo momento información veraz y certera.

Solución:

Tomemos un ejemplo de un procesador de textos:

Un procesador de textos se ocupa de los objetos de carácter. El estado de los objetos de carácter es el contenido del carácter, la fuente, el estilo, la ubicación, etc. (en lo que respecta al procesador de textos). Los diferentes documentos utilizan diferentes instancias de un personaje. Asumiendo que solo estamos tratando con Arizona caracteres, diferentes documentos utilizan letras de Arizona pool pero podría aplicar una fuente / estilo diferente. Entonces, si separamos el contenido del carácter de la fuente / estilo, podemos compartir estos caracteres y esto tiene sentido porque el total de diferentes tipos de caracteres es menor (26 en nuestro caso pero una constante en caso contrario) en comparación con diferentes instancias de caracteres utilizados. en diferentes documentos. Compartir estas instancias de caracteres significaría compartir el contenido de las instancias de personajes y aplicar contexto como fuente / estilo externamente a estos personajes. El contenido del carácter es un estado intrínseco y la fuente / estilo es un estado extrínseco. La separación del estado en estados intrínsecos y extrínsecos condujo a enormes ahorros de almacenamiento en el ejemplo anterior.

extrínseco: estado que pertenece al contexto del objeto (externo) o único para esa instancia

intrínseco: estado que pertenece naturalmente al objeto ‘FlyWeight’ y, por lo tanto, debe ser permanente o inmutable (interno) o libre de contexto.

Cualquiera que sea la redacción específica de esa lista con viñetas, es importante comprender el mensaje: Peso mosca se aplica al caso en el que una parte importante del estado se puede compartir entre muchos objetos porque algunos datos son iguales para todos ellos. Normalmente, el estado compartido es inmutable por naturaleza (es decir, “verdad universal”). El ejemplo con fuentes tipográficas lo deja bastante claro; un ejemplo de Java cotidiano es java.util.regex.Pattern, el peso mosca, vs. Matcher, el objeto cliente que lo reutiliza y mantiene el estado extrínseco local. Muchos Matchers pueden existir en paralelo, todos reutilizando la expresión regular compilada en el interior.

Esta cita aclara las cosas más que la de su pregunta:

Cuantos más pesos mosca se compartan, mayores serán los ahorros de almacenamiento. Los ahorros aumentan con la cantidad de estado compartido. Los mayores ahorros se producen cuando los objetos utilizan cantidades sustanciales tanto de estado intrínseco como extrínseco, y el estado extrínseco se puede calcular en lugar de almacenar. Luego, ahorra en almacenamiento de dos maneras: compartir reduce el costo del estado intrínseco y cambia el estado extrínseco por tiempo de cálculo.

Calificaciones y reseñas

Agradecemos que quieras añadir valor a nuestro contenido aportando tu veteranía en las anotaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *