由于最近开发的新项目使用了MVP(Model View Presenter)架构,故在此做一些记录。
目前初步的理解MVP为对MVC的进一步的解耦,尤其是对C层进行了很好的瘦身,将任务分摊到了M和P层。
MVP的各个层的作用简单总结一下:
Model:该层和MVC中的Model层相似,但是多了对数据的存储和网络请求的操作。MPV中将网络请求的执行和数据库的操作都放在了Model层,也就是说M层主要是对数据进行操作。
View:该层和MVC的不同是将Controller也归为了View层,并且通常会将协议放在V层,通过P层对V层进行一个数据的传输。
Presenter:该层主要是对V和M做一个类似中介桥梁的作用,也就是两者的协调器。P层负责处理业务逻辑,很好的对C进行瘦身,并且做热修复将会很方便。
V层受到P层被动更新