Android开发比较流行MVP框架,然后看了几篇相关的文章,感觉有几点很奇怪:
1.在实现上把Activity以及布局统一当做V来看待,而把事件逻辑部分移植到所谓的P层。其实这个P就是一个从Activity层中抽象出来的一部分逻辑。
2.这样设计的原因还是和Activity的生命周期和实现有关。Activity设计的太过重了,两个Activity之间进行通信还需要进行封包和解包处理。他本来设计是可以用来跨进程之间相互调用,但是实际中大部分Activity是在一个进程内被使用所以两个Activity之间通信成本就太高了。当然解决的方法是用Fragment。另外还有一个原因是Activity还有建立、销毁的生命周期问题导致一些状态值的存储成本太高。而抽象出来的P层则跳出了上述的两个约束。
3.其实我不认同的观点是MVP中把Activity+布局当做V来看待。感觉解决的方法还是一个根的Activity并加众多的Fragment加布局来实现应用程序。也就是还是原本的MVC框架。
展开
7