Composite
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
Según el libro "Patrones de Diseño" el patrón Composite "compone objetos en estructuras de árbol para representar jerarquías de parte-todo. Permite que los clientes traten de manera uniforme a los objetos individuales y a los compuestos".
Componente:
declara la interfaz de las variables de la composición.
implementa el comportamiento predeterminado de la interfaz que es común a todos los tipos de datos.
declara una interfaz para acceder a sus componentes hijos y gestionarlos.
(opcional) define una interfaz para acceder al padre de un componente en la jerarquía recursiva y, si es necesario, la implementa.
Hoja:
representa variables hoja en la composición. Una hoja no tiene hijos.
define el comportamiento de las variables primitivas de la composición.
Compuesto:
define el comportamiento de los componentes que tienen hijos.
almacena componentes hijos.
implementa las operaciones de la interfaz Componente relacionadas con los hijos.
Cliente:
manipula variables en la composición a través de la interfaz Componente.
No se observan impedimentos y/o modificaciones de la estructura original del patrón para su implementación en Go.
En este ejemplo queremos acceder a los salarios de los empleados de una gerencia tanto de forma individual como grupal. De esta forma la compañía podría analizar el impacto de futuros bonos de productividad tanto para una gerencia completa o para alguno de sus empleados.
Implementación:
Se puede probar la implementación del patrón de la siguiente forma:
|
Atención: Esta publicación se encuentra abandonada. Puede acceder a la versión vigente en