Generalidades

Modo compuesto en Kotlin: ejemplo de Android

En este artículo, presentaré el patrón compuesto, definiciones importantes, sus ventajas y desventajas. Luego, me enfocaré en cómo el modo compuesto fortalece el principio abierto / cerrado, permitiéndonos manejar estructuras de árbol complejas de una manera más manejable. También proporciona ejemplos prácticos del modo compuesto utilizando el marco de Android y el lenguaje Kotlin.

Los patrones de diseño son una respuesta ampliaCPara problemas que ocurren con frecuencia en el diseño de software, se puede repetir h. Es un plano para resolver el problema y se puede utilizar en diferentes situaciones.Hay muchos patrones de diseño, pero este artículo se centra en uno, a saber Sintético Patrones de diseño.

Esta Sintético Hay cuatro participantes en el modelo: Componentes, Esta hoja, Esta Sintético,así como también cliente.

  • Cliente: es una clase que utiliza operaciones proporcionadas por el cliente. Componentes Interfaz, no te preocupes por la implementación Componentes Está en uso.Tal cliente maneja uno Componentes No es necesario saber si se está procesando hoja o SintéticoEste nivel de transparencia es muy poderoso porque nos permite pasar cualquier tipo de componentes que necesitemos, no asocia al cliente con detalles de implementación y fortalece el principio abierto / cerrado.

beneficio

  • Refuerza el principio abierto / cerrado, que establece que puede extender la funcionalidad de una aplicación sin modificar el código existente, porque fortalece la programación del desarrollador de la interfaz en lugar de la implementación.
  • Con la ayuda del polimorfismo y la recursividad, hace que el manejo de estructuras de árbol complejas sea más fácil de administrar.

defecto

  • Puede resultar difícil tener una interfaz común para un objeto diferente.
  • Los patrones compuestos tienden a generalizar demasiado las cosas, lo que dificulta su comprensión.

Para este artículo, se creó una aplicación de Android de administrador de cartera simple, que demuestra el patrón compuesto. El modo compuesto se utiliza para abstraer los detalles de implementación, permitir que los clientes cambien de manera flexible y hacer que los clientes traten un portafolio único y grupos de portafolios de la misma manera.

Capa de dominio

La siguiente figura muestra la estructura de nuestra entidad de dominio:

  • PortfolioLeaf: representa un objeto Leaf, generalmente un portafolio único.
  • PortfolioComposite: representa una cartera, generalmente una cartera compuesta por múltiples carteras de inversión.
  • PortfolioComponent: la interfaz compartida por PortfolioLeaf y PortfolioComponent.
  • getValue: Devuelve el valor total de la cartera.
  • getAssets: devuelve una lista de activos incluidos en la cartera.

Capa de presentación

La capa de presentación mostrará un ViewPager para un portafolio compuesto por múltiples portafolios (Compuesto) y una vista (Hoja) para un solo portafolio. Como hice en la capa de dominio, tendré las siguientes entidades de capa de presentación para ayudarme a implementar patrones compuestos:

  • PortfolioLeafFragment: Responsable de la visualización de una única cartera.
  • PortfolioCompositeFragment: Responsable de mostrar las carteras de inversión de cartera.
  • MainActivity: es la representación de la clase Client en la capa de presentación.

Manifestación

Este es un video que muestra la aplicación.

En resumen, el patrón compuesto es un patrón de diseño que permite a las clases cliente tratar un solo objeto y un grupo de objetos por igual, y nos permite fortalecer algunos principios SÓLIDOS, como el principio abrir / cerrar, y facilitar su gestión. estructuras arbóreas complejas.

LEER  Adiós a las zonas sin cobertura móvil: tendremos un mínimo de 30 megas en toda España

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba