Skip to content

Rama: package_by_component_Secondary

Vanskarner edited this page Oct 30, 2023 · 8 revisions

Dependencia de Módulos Gradle

Gradle Modules Dependency

Componentes

En todos los diagramas de componentes, el rectángulo denominado 'UI/Presentation' se utiliza simplemente como una forma de agrupar estos componentes relacionados. Por lo que para fines organizativos, se ha simplificado la representación de dependencia de los componentes de 'UI/Presentation' y el componente Core mediante una única línea, ya que hacerlo para cada componente de la UI generaría un gran desorden visual.

Simplificado Mostrando Estructura Interna del Componente Movie
Simplified component diagram Diagram of components showing internal structure
Mostrando Componente Main
Component Diagram with Main

Componente Main

El componente main está conformado por la configuración de los módulos e incluye también código autogenerado producto del marco de inyección de dependencia.

Main Component Configuration

Componente Movie

El componente Movie es representado por el paquete com.vanskarner.movie, tal como se muestra en el siguiente diagrama:

Movie Package Class Diagram

Nótese que tanto la persistencia local como la remota dependen del paquete de lógica de negocio, al igual como se muestra en la estructura interna del componente Movie en el diagrama de componentes.

Exposición del Servicio

Estos son los artefactos de software que son visibles para el cliente o consumidor de este componente:

Services exhibition

Dependencias de Movie

Mediante este diagrama se muestra la dependencia que existe del componente Movie hacia el componente Core:

Movie Component Dependency

Pruebas

Locales

Tests in com.vanskarner.movie

Instrumentadas

Tests in com.vanskarner.movie.persistence.local

Componentes UI

Los componentes UpcomingUI, UpcomingDetailUI y FavoritesUI estan representados por los paquetes upcoming, upcomingDetail y favorites, respectivamente:

UI class diagram

Dependencias de UI

Mediante este diagrama se muestra la dependencia que existe de los componentes UI hacia el componente Movie:

UI Component Dependency

Pruebas

Locales

Local Tests in com.vanskarner.cleanmovie.ui.movie

Instrumentadas

Instrumented Tests in 'com.vanskarner.cleanmovie.ui.movie'

Métricas

Aplicación

Resumen de las métricas de la aplicación.

Application Metrics in this Branch

Gráfico de Inestabilidad/Abstracción

Todos los módulos gradle se ubican en este gráfico.

Instability/Abstraction Graph

Core

Core Instability/Abstraction Graph

Movie

Movie Instability/Abstraction Graph

App

A pesar de que el módulo gradle "app" se sitúa fuera de la franja verde, es importante tener en cuenta que un módulo gradle no siempre representa necesariamente un solo componente. De hecho, el módulo gradle "app" alberga tanto el componente Main como los componentes de la UI, tales como: upcoming, upcomingDetail y favorites.

App Instability/Abstraction Graph

Por lo tanto, se podría analizar cada componente de la UI. Para esto se ha diseñado una regla llamada "Distance from main sequence in UI components" que permite calcular las métricas Inestabilidad, Abstracción y Distancia de la Secuencia Principal:

UI Component Metrics

Clone this wiki locally