Design patterns
There is no need to reinvent the wheel and there is no need for us to repeat ourselves. This is exactly what the Don't Repeat Yourself (DRY) software development principle dictates. A design pattern is a solution for a common problem, and such a pattern can be used in many places across your app. It is the methodology that we can trust, which will help us to speed up the development process. Patterns could help us develop high-quality software with minimal effort. They also can help us deal with the separation of concerns. Some well-known patterns are the Model View Controller (MVC) pattern, the somewhat similar Model View Presenter (MVP), and the Model-View-ViewModel (MVVM) approach.
There are some great books about design patterns and it is beyond the scope of this book to have a detailed look at all of them, but the MVC/MVP is of particular interest because it is used the most for mobile development. The idea behind the pattern is to separate the UI from the business logic and data from the logic. When you have a closer look on the structure of most Android or iOS apps in Android Studio or in Xcode, you will notice some parts of this pattern already. A controller gets data from another layer. This layer can be a client or a repository class. For example, it will get its data from an API or from a local source. The controller communicates the obtained data through a model (or view model) to the user interface:

- 在你身邊為你設計Ⅲ:騰訊服務設計思維與實戰
- iOS and OS X Network Programming Cookbook
- Spark核心技術與高級應用
- LabVIEW 完全自學手冊
- Flutter Projects
- 達夢數據庫運維實戰
- 數據庫應用系統開發實例
- Mastering LOB Development for Silverlight 5:A Case Study in Action
- 中文版Access 2007實例與操作
- Google Cloud Platform for Architects
- 數據分析方法及應用:基于SPSS和EXCEL環境
- SQL應用開發參考手冊
- Oracle數據庫性能優化的藝術
- 大數據:從海量到精準
- 醫療大數據分析與應用