我是android开发的新手,我想在我的项目中实现MVP,但是我不知道使用MVP的优点是什么,所以请告诉我在android中使用MVP的优点是什么。
发布于 2016-11-25 05:13:09
在我看来,你的问题有两部分:
实现MVP (或类似的体系结构模式,如MVC、MVVM、MVVC等)的一般优点。包括:
以上是MVx在任何平台上的普遍优势。这也适用于安卓系统,但在安卓系统中,跟随MVx的收益更高,原因如下:
如果您想在Android中使用MVP路径,也可以查看这些资源:
发布于 2018-04-18 06:06:52
从技术上讲,这些优点是可测试性、可维护性、可扩展性等,正如其他人所指出的。我在那个这里上写了一篇完整的文章。
但是,正如您所说的,您是android的新手,我觉得在构建应用程序时使用架构模式的一个具体例子将帮助您更好地理解它的重要性:
假设一个应用程序有一个EditText
字段,在这个字段中输入一个地址和一个查找按钮,这将导致搜索结果页面。
如果您不使用MVP或任何其他适当的体系结构,则必须将所有内容放入您的Activity
或Fragment
中。
findButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
callTheNetworkSearchMethod(); }
});
现在,如果您想更改搜索地址的端点API,怎么办?通过这种方式,您必须更改所有的Activity
,即使是端点API。但这是否合理呢?绝对不是那么回事。
在团队项目中,当首席开发人员回顾您开发的特性时,她发现只需要添加一个端点api更改就可以更改整个Activity
。她必须通过扫描整个Activity
,才能知道你只改变了一个端点。另外,如果另一个开发人员正在对Activity
做一个小的更改,您甚至可能会遇到冲突,并且不得不花一些时间来解决它。
通过使用MVP,您可以获得上述所有功能和许多其他增强功能,其中您只需编写:
findButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mPresenter.doWhenFindButtonIsClicked(); }
});
现在,如果您想在单击“查找”按钮时更改任何内容,您将在演示器中这样做,视图将保持原样。
这是使用架构模式最重要的方面之一,称为“关注点分离”。
如果您有兴趣了解MVP如何帮助android项目,以及一个完整的示例应用程序,请查看我的MVP文章
发布于 2017-08-28 23:19:13
https://stackoverflow.com/questions/40766185
复制