Summary
In this chapter, we have dipped our toes into Clean Architecture in Android. We started by understanding a bit about what Clean Architecture means and some of the best ways we can achieve this in our Restaurants app, while also covering the main benefits of following such a software design philosophy.
We started with Clean Architecture in the first section, where we defined the Domain layer with Use Cases, and continued refactoring in the second section, where we separated the Domain model from Data models.
Then, we improved the architecture of the app by creating a package structure and by decoupling the Compose-based UI layer from the ViewModel
classes even further.
In the next chapter, we will continue our journey of improving the architecture of our application by adopting dependency injection.