最近一段时间,读完了《Android源码设计模式-解析与实战》和《大话设计模式》这两本经典设计模式相关书籍,撰写相关笔记。
每种设计模式将从以下方式聊聊:
1. 是什么(What,即定义);解决什么问题(Why,即使用场景)
2. 如何使用(How,即最简UML图+Java代码)
3. 生活场景举例(贴近生活,更易理解)
4. 安卓场景举例(贴近安卓,理解源码)
安卓常用设计模式
在 Android 开发中,以下是十种常用的设计模式:
1. MVVM(Model-View-ViewModel):MVVM是一种基于数据绑定的架构模式,通过引入ViewModel层来实现视图和模型的分离。视图通过数据绑定机制将数据自动更新到界面上。
2. MVC(Model-View-Controller):将应用程序分为模型(Model)、视图(View)和控制器(Controller)三个核心组件。模型负责处理数据和业务逻辑,视图负责展示用户界面,控制器负责协调模型和视图之间的交互。
3. MVP(Model-View-Presenter):MVP是基于MVC的演变,通过引入Presenter层来分离视图和模型之间的交互。Presenter负责处理用户输入和更新视图,模型负责处理数据和业务逻辑。
4. 单例模式(Singleton):确保一个类只有一个实例,并提供全局访问点。Android中,SharedPreferences、SQLiteOpenHelper、Retrofit等使用该模式,常用于管理全局状态、数据库访问等。
5. 建造者模式(Builder):通过将对象的构建过程分步骤进行,逐步构建复杂对象。Android中,常用于创建参数较多的对象,例如使用AlertDialog.Builder构建对话框。
6. 观察者模式(Observer):定