Android App Development: Design Patterns for Mobile Architecture
2h 22mIntermediate2017-06-23
Authors

Jon Bott
Senior iOS Developer at Ancestry.com, Training Consultant
Course details
Developers need to know how to manage an app's complexity. In this course, learn how to simplify your apps by applying simple architectural design patterns to your mobile code base. Discover how these design patterns can help you reduce bugs and maximize your development time by making your code easier to read and test. Jon Bott covers different architectural models such as MVC, MVP, and VIPER. In addition, he walks through the conversion process from MVC to a layered architecture, covering dependency injection, the coordinator pattern, and data binding.
Learning objectives
Common architectures
Minimum viable architecture (MVA)
Converting to MVP
Expanding layers
Working with entities
Dependency and interface injection
Implementing the coordination pattern
Adding binding with RxJava
Learning objectives
Common architectures
Minimum viable architecture (MVA)
Converting to MVP
Expanding layers
Working with entities
Dependency and interface injection
Implementing the coordination pattern
Adding binding with RxJava
Skills covered
Software DesignAndroid DevelopmentAndroidMobile DevelopmentGoogleSoftware DevelopmentDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Welcome
- 02 - What you should know
- 03 - How to use the exercise files
1. Moving Pieces of Architecture
- 04 - Why architecture
- 05 - Architecture pieces
- 06 - Common architectures
- 07 - MVA (mininimum viable architecture)
- 08 - Common architectures comparison
2. Demo Application Walkthrough
- 09 - Potential errors
- 10 - UI overview
- 11 - Code overview
- 12 - Load data
3. Convert to MVP
- 13 - Create presenter
- 14 - Create presenter, part 2
- 15 - Create presenter, part 3
- 16 - Create presenter, part 4
4. Expand Layers
- 17 - Expand layers
- 18 - Expand layers, part 2
- 19 - Expand layers, part 3
- 20 - Entities
5. Dependency Injection
- 21 - Dependency injection
- 22 - Dependency injection, part 2
- 23 - Dependency injection, part 3
- 24 - Dependency injection, part 4
- 25 - Interface injection
6. Navigation Coordinator
- 26 - Implement coordination pattern
7. Data Binding
- 27 - Add binding with RxJava
- 28 - Add binding with RxJava, part 1
- 29 - Add binding with RxJava, part 2
Conclusion
- 30 - Next steps
Related courses
- Android Compose with Kotlin
- Android Development: Data Binding
- Java Design Patterns and APIs for Android
- Android App Development: Working with Widgets
- Android App Development: Accessibility
- Building AI-Powered Android Apps with Gemini
- Programming for Non-Programmers: Android & Kotlin
- Android Development Essential Training: 1 Your First App
Related learn paths
- Prepare for the Google Associate Android Developer Certification
- Elevating C# Skills: Building Robust Applications
- Become an Instructional Developer
- Become an Android Mobile App Developer
- Become a Software Developer
- Become a Data Visualization Specialist: Tools
- Become a React Native Developer
- Advance Your JavaScript Skills