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