Inspecting module dependencies
In this section, we will analyze the dependencies used across the different modules in the application created in the previous chapters.
Following Exercise 09.01 – Transitioning to MVI from Chapter 9, Implementing an MVI Architecture, we now have a fully functioning application split into separate modules, representing different layers. We can analyze the relationship between the different modules by looking at the dependencies
block in the build.gradle
file in each module and focusing in particular on the implementation(project(path: "{module}"))
lines. If we were to draw a diagram, it would look like the following:
In the preceding figure, we can see that the :domain
module, which is part of the domain layer, is at the center, with the modules from the other layers having a dependency toward it. The :app
module is responsible for assembling...