Android架构设计模式总结(MVX)
一、安卓软件架构设计的目的
通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合。这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且更容易进行后续的测试以及定位问题。但设计不能违背目的,对于不同量级的工程,具体架构的实现方式必然是不同的,切忌犯为了设计而设计,为了架构而架构的毛病。
举个简单的例子:
一个Android App如果只有3个Java文件,那只需要做点模块和层次的划分就可以,引入框架或者架构反而提高了工作量,降低了生产力;
但如果当前开发的App最终代码量在10W行以上,本地需要进行复杂操作,同时也需要考虑到与其余的Android开发者以及后台开发人员之间的同步配合,那就需要在架构上进行一些思考!
二、MVC、MVP、MVVM架构设计模式的联系与区别
1、MVC(单向循环,每一层都做两件事,先接受命令再通知)
什么是MVC?
MVC:Model View Controller,是软件架构中最常见的一种框架
View:对应于布局文件,一般采用XML文件进行界面的描述
Model:对应于安卓中的database、实体类等,负责业务逻辑的处理和实体模型;
Controllor:对应于Activity与Fragment,处理数据、业务和UI;
特点:
View可以与Model直接交互。
Controller是基于行为的,并且可以被多个View共享。
原理:
当用户触发事件的时候,view层会发送指令到controller层,接着controller去通知model层更新数据,model层更新完数据以后直接显示在view层上。