8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
在说MVP模式之前,先说说MVC模式:
MVC模式:
Android项目本身就是MVC(Model View Controlllor)模式。
Model:数据逻辑和实体模型;
View:布局文件,UI;
Controllor:指的是Activity。
一开始学习Android开发的时候,除了UI布局,大部分的操作都是写在Activity中的,能实现功能即可,随着业务的增多或者当遇到某个页面的逻辑较多时,Activity承担的任务就比较重了,要负责页面的展示和交互,还要负责数据的请求获取与业务逻辑处理,所以慢慢的一个Activity中就有上千行的代码了,可读性降低了很多。
MVP模式:
Model:数据逻辑和实体模型;
View:布局文件,UI;
Presenter:作为View与Model交互的中间纽带。
Presenter的出现,使得View不用直接和Model打交道,View只负责页面的显示和交互,Model负责数据的请求与获取,而Persenter负责传递事件与数据。
MVP的优缺点:
优点:
1、降低耦合度,实现了Model和View的真正分离;
2、模块职责划分明显,层次清晰;
3、Presenter可以复用,一个Presenter可以用于多个View;
4、有利于进行单元测试,做到测试不依赖UI与交互。
缺点:
1、Presenter中除了应用逻辑以外,还有大量的View—>Model,Model—>Viewde的手动同步逻辑,造成Presenter比较笨重,维护起来还是会跟MVC中的Activity一样;
2、由于对视图的渲染放在了Presenter中,所以视图和Prestener的交互会比较频繁;
3、由于Persenter可能会跟视图比较频繁的交互,如果视图一旦发生变化,Presenter也面临修改的问题;
4、额外的代码复杂度和一些学习成本。
参考资料: