Android 源码设计模式
2018-07-12 09:39:48 1 举报
AI智能生成
Android 源码设计模式
作者其他创作
大纲/内容
27 MVVM 应用浅析
25 MVC 的介绍与实战
Model-View-Controller
Model 可以是一个独立的对象,也可以是一系列对象的集合体。
View 是 Model 中一些重要数据在视觉上的体现。
Controller 用于连接 User 和 System,比如当 Controller 接收到用户的输出时,会将其转换成合适的事件消息,并将该事件消息传递给一个或多个 View。
MVC & Android
M & Bean
V & Xml-View
C & Activity
Tips
MVC 是一种框架模式:是观察者模式、策略模式、组合模式的合体,其核心是观察者模式。
软件领域3种级别的重用
内部重用:在同一应用中能公共使用的抽象快。
代码重用:将通用模块组合成库或工具集,以便在多个应用和领域都能使用。
应用框架重用:为专用领域提供通用的或现成的基础结构,以获得更高级别的重用性。
框架
框架:面向于一系列相同行为代码的重用。
框架是大智慧,用来对软件设计进行分工。
设计
设计:面向的是一系列相同结构代码的重用。
设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。
26 MVP 应用架构模式
Model View Presenter
MVP 模式可以分离显示层和逻辑层,它们之间通过接口进行通信,降低耦合。
MVP 三角色
Presenter
Presenter 主要作为沟通 View 和 Model 的桥梁,它从 Model 层检索数据口,返回给 View 层,使得 View 和 Model 之间没有耦合,也将业务逻辑从 View 角色上抽离出来。
View
View 通常是指 Activity、Fragment 或者某个 View 控件,它含有一个 Presenter 成员变量。通常 View 需要实现一个逻辑接口,将 View 上的操作通过会转交给 Presenter 进行实现,最后,Presenter 调用 View 逻辑接口将结果返回给 View 元素。
Model
对于一个结构化的 App 来说,Model 角色主要是提供数据的存取功能。Presenter 需要通过 Model 层存储、获取数据,Model 就像一个数据仓库。更直白地说,Model 是封装了数据库 DAO 或者网络获取数据的角色,或两种数据获取方式的集合。
开发技术前线
Tips
MVP 能够将各个组件进行解耦,并有良好的可扩展性、稳定性、可维护性。
MVP 使每个类型的职责相对单一、简单。
0 条评论
下一页