¿Qué es el Patrón de Diseño Compuesto?

Mahipal Nehra
Mahipal Nehra

Seguir

el 8 de Mayo de 2020 · 3 min de lectura

el Diseño de Compuestos Patrón es un patrón de diseño que cae en la categoría de patrones estructurales. Estos patrones se refieren a cómo se componen las clases y los objetos para formar estructuras más grandes. El patrón compuesto describe una de esas formas de construir una jerarquía de clases compuesta de clases para dos tipos diferentes de objetos (compuestos y primitivos). Un objetivo de la ingeniería de software es mantener una alta cohesión entre los módulos y el otro para reducir el acoplamiento.

Muchas aplicaciones que tienen que lidiar con datos jerárquicos necesitan asegurarse de que no tienen demasiada dependencia entre sus clases porque tales aplicaciones necesitan actualizar constantemente sus componentes. Un sistema de archivos es un ejemplo clásico de estructura jerárquica que contiene carpetas dentro de carpetas y archivos dentro de carpetas. Un archivo puede ser un vídeo, un documento de texto o un archivo de audio. Por lo tanto, puede haber varios archivos de audio en una carpeta y varios archivos de video en otra, y ambos pueden estar dentro de otra carpeta que representa «medios», que a su vez puede estar en otra carpeta llamada «conferencias». La carpeta de clase también puede contener otra carpeta que represente el tema, y esto puede continuar para siempre. El punto que estamos tratando de hacer es que si está tratando de diseñar una aplicación que trate con componentes jerárquicos, puede terminar creando estructuras de clases que están altamente acopladas y, para agregar más componentes, puede ocurrir mucha redundancia. Para resolver este problema común, el patrón de diseño compuesto proporciona una solución elegante. En primer lugar, veamos qué es el patrón de diseño compuesto? (Java Development Company)

El patrón de diseño compuesto proporciona una jerarquía de diseño, en la que los nodos con hijos difieren de los nodos sin hijos. Puede pensar en la estructura de datos de árbol en este caso. Y en comparación con nuestro ejemplo, un nodo puede ser una carpeta, y los hijos pueden ser archivos o carpetas que consisten en archivos. Un grupo de objetos se tratan de la misma manera que una sola instancia del mismo tipo de ese objeto, por lo que no importa qué, pensaremos en el nodo y sus hijos como el componente de carpeta, esto nos facilita el diseño de nuestra estructura jerárquica de componentes para nuestra aplicación. Nos referiremos a componentes (objetos) dentro de componentes (objetos) como composiciones. El patrón de diseño compuesto permite al cliente tratar objetos y composiciones individuales de manera uniforme. Lo esencial a tener en cuenta es la estructura de árbol, mientras se trata de este patrón de diseño. Para entender mejor qué es el patrón de diseño compuesto y su aplicabilidad, usemos un ejemplo de código en java que es similar al ejemplo de sistema de archivos que dimos.

Lea: «Todo lo que necesita saber sobre el Patrón de Diseño de Métodos de Plantilla»

Ejemplo de patrón de diseño compuesto

El ejemplo que vamos a usar será de un curso que consistirá en temas y conferencias. Si está tomando un curso sobre cualquier tema, habrá un tema y ese tema puede consistir en muchos temas y conferencias. Entonces, ¿cómo se implementaría? Primero le mostraremos el enfoque común.

Vamos a crear una Clase magistral de

Fig: diseño compuesto patrón de ejemplo en java — Clase magistral

La Conferencia tiene un nombre y un método de visualización para mostrar la jerarquía de la misma.

La Clase de tema

Fig: ejemplo de patrón de diseño compuesto en java — Clase de tema

En nuestro ejemplo, la clase de tema tiene las características de agregar un tema, agregar una conferencia y mostrar las conferencias y los temas en una jerarquía. El tema vincula otros temas y conferencias dentro de sí mismo. Por lo tanto, podemos tener subtemas y conferencias sobre cada uno.

Veamos cómo los combinamos en el método principal

Artículo completo: https://www.decipherzone.com/blog-detail/when-use-composite-design-pattern-java

Deja una respuesta

Tu dirección de correo electrónico no será publicada.