-
Notifications
You must be signed in to change notification settings - Fork 0
Branch: package_by_layer
In all component diagrams, the rectangles labeled 'UI/Presentation' and 'Data' are used simply as a way of grouping these related components. So for organizational purposes, the dependency representation of these components and the Core component has been simplified to a single line, as doing so for each component would create a lot of visual clutter.
Simplified | Showing Main Component |
---|---|
![]() |
![]() |
The main component is made up of the module configuration and also includes auto-generated code from the dependency injection framework.
The Movie component is represented by the com.vanskarner.domain package, as shown in the following diagram:
These are the software artifacts that are visible to the client or consumer of this component:
This diagram shows the dependency of the Domain component on the Core component:
The RemoteData component is represented by the com.vanskarner.remotedata package, as shown in the following diagram:
This diagram shows the dependency of the RemoteData component on the Domain and Core components:
The LocalData component is represented by the com.vanskarner.localdata package, as shown in the following diagram:
This diagram shows the dependency of the LocalData component on the Domain and Core components:
The UpcomingUI, UpcomingDetailUI and FavoritesUI components are represented by the upcoming, upcomingDetail and favorites packages, respectively:
This diagram shows the dependency of the UI components on the Domain component:
Summary of application metrics.
All gradle modules are located in this graph.
Although the gradle module "app" is placed outside the green band, it is important to note that a gradle module does not always represent a component. In fact, the gradle "app" module houses both the Main component and the UI components, such as: upcoming, upcomingDetail and favorites.
Therefore, each UI component could be analyzed. For this purpose, a rule called "Distance from main sequence in UI components" has been designed to calculate the metrics Instability, Abstraction and Distance from Main Sequence: