MVC概念:
MVC 全名 Model View Controller 是 模型-视图-控制器的缩写,是一种将业务逻辑、界面、数据显示分离的
方法。将业务逻辑聚集到一个部分里,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
其中M层处理数据、业务逻辑等;V层处理界面的显示结果;C层起到桥梁的作用,来控制V层和M层通信,
以此来达到分离视图显示和业务逻辑层的目的。


MVC对于android
在android中,M层适合做一些业务逻辑处理,比如数据库存取操作,网络操作,复杂的算法,耗时操作等都在
model层处理。V层处理数据显示部分,XML可以视为V层,显示model层的数据结果。C层,在android中Activity处理用户交互问题,因此可
以认为Activity是控制器,Activity读取V视图层的数据,控制用户输入,并向Model发送数据请求。


在android项目中,业务逻辑、数据处理等担任了Model角色,XML担任了View角色,Activity担任了Contronller角色
Contronller作为桥梁,通过接口通信协同View和Model工作,起到了俩者之间的通信作用。


虽然Activity起到交互作用,但是在Activity中有很多关于视图UI的显示代码,因此View视图和Activity
控制器并不是完全分离,也就是说一部分View视图和Contronller控制器Activity是绑定在一个类中。


在什么时候适合使用MVC设计模式?
在一个小的项目中且无需频繁修改需求就不必使用MVC设计模式,反而会显得代码过于臃肿。一般在大的项目中
且业务逻辑处理比较复杂,使用模块化设计是项目使用MVC有较好的优势。


MVC优点
1:模块代码之间关了层度低,利用MVC框架使得 View 和 Model 层可以很好的分离,减少模块代码之间的
相互影响。
2:可扩展性好。添加需求,扩展代码可以减少修改之前的代码,降低bug的出现几率;
3:模块职责划分分明,利于代码的维护 。