最近经常听到MVP模式的好,于是我去试着了解了下MVP并使用这种模式写了个demo。
MVP心得
MVP相比于MVC,多了好多类和接口,但逻辑看着很清晰。
V是Activity、Fragment这些View界面。使用接口实现的方式对V层的控制。(比如隐藏文本)
M层即Model,我的理解就是我们常见的Bean类。也是使用接口实现的方式来对M进行操作。(比如Bean类中的set、get方法)
(另外我还看到有的是Bean和M分开的,即先定义个bean对象,然后写一个M接口。在实现M接口的类中对Bean进行操作。)
P层是Persent,P是用来处理逻辑的。在P中我使用之前在M和V中写的接口来实现业务逻辑。
MVP实现步骤
明确需求、建立M接口、实现M接口、建立V接口便于P控制V、实现V接口、建立P控制器、在P中使用M和V提供的接口来实现逻辑。
使用接口的好处
让我们对方法一目了然,起到目录索引的功能。具体逻辑在实现接口的类中。
对MVP的疑惑
其实对于MVP还是有一定疑惑的,一些地方还是不太理解。
首先就是Adapter,adapter众所周知是一个用在不确定数量、相同界面的如ListView中的。我在日常工作中会在Adapter中做很多操作。如数据存储、网络请求、View的控制等等。那么这个adapter在MVP中处于何种地位?
其他的……暂时没有想到。
另外就是感觉MVP写起来麻烦点~慢慢体会MVP和MVC的不同之处。之后再补上一篇全面的理解。