Syllabus
Software Architecture in Mobile Apps – Introduction to different architectures MVC, MVP, MVVM, and Clean Architecture – SOLID principles and their relevance to Clean Architecture. Different layers in clean architecture.
Dependency Inversion and Interfaces – Role of interfaces and abstraction in decoupling layers – creation of a simple Android app with layer separation. Domain Layer Design – Entities and Business Rules – Use Cases. Data Layer and Repositories – Mapping between Domain models and Data models.
Presentation Layer Design – Designing UI in Android using MVVM and Clean Architecture principles. Dependency Injection with Dagger/Hilt – Benefits of using DI in Clean Architecture. Handling Asynchronous Operations with Coroutines – Testing in Clean Architecture – End-to-End Testing. Failures and exceptions.