Android架构,即为开发android时使用的架构。Android的开发一般分为三部分:UI逻辑,业务逻辑和数据操作逻辑。
MVC
MVC全名为Model-View-Controller,图解如下
View:负责与用户交汇,显示界面。
Controller:负责接收来自view的请求,处理业务逻辑。
Model:负责数据逻辑,网络请求数据以及本地数据库操作数据等。
在MVC架构中,Controller是业务的主要承载者,几乎所有的业务逻辑都在Controller中进行编写。而View主要负责UI逻辑,而Model是数据逻辑,彼此分工。View 是 MVC 里最好理解的,它会接收用户的交互请求并展示数据信息给用户。一个 View 展示的数据可能只是一个 Model 对象的部分数据,也可能是一个 Model 对象的全部数据,甚至可能是多个 Model 对象数据的组合。
MVP
MVP全名是Model-View-Presenter。
即:
- View: Activity 和 Layout XML 文件;
- Model: 负责管理业务数据逻辑,如网络请求、数据库处理;
- Presenter: 负责处理表现逻辑。
不同的view可以通过实现相同的接口来共享prensenter。presenter也可以通过实现接口来实现动态更换逻辑。Model是完全独立开发的,向外暴露的方法参数中含有callBack参数,可以直接调用callBack进行回调。
MVP特点总的来说:
1.MVP通过模块职责分工,抽离业务逻辑,降低代码的耦合性
2.实现模块间的单向依赖,代码思路清晰,提高可维护性
3.模块间通过接口进行通信,降低了模块间的耦合度,可以实现不同模块独立开发或动态更换
Android架构是为了协调上述三个关系,使其达到:
1.各模块高内聚低耦合的状态,方便进行团队分工合作开发。
2.代码思路清晰,提高代码的可维护性与可测试性。
3.减少样板代码,提高开发效率,减少开发错误。