一、MVC
Activity承担了Controller和View的工作,所有Controller和View没有解耦。Model主要负责网络请求,数据库处理,I/O等业务操作。
- M模型层(Model),针对业务模型,建立的数据结构和相关的类
- V视图层(View),显示部分
- C控制层(Controller),控制逻辑
关系图
各层承担的角色
使用MVC时需注意
- MVC具有一定的分层,model彻底解耦,controller和view并没有解耦
- 层与层之间的交互尽量使用回调或者去使用消息机制去完成,尽量避免直接持有,这样方便复用。
- controller和view在android中无法做到彻底分离,但在代码逻辑层面一定要分清
- 业务逻辑被放置在model层,能够更好的复用和修改增加业务
二、MVP
MVP是在MVC的基础上发展来的,差别是Model和View之间不进行通讯,都是通过Presenter完成。MVC中Controller和View没有做到完全解耦&#x