No solo es útil, es MUY útil.
Solo un ejemplo:
Suponga que una aplicación tiene un campo EditText donde ingresa una dirección y un botón ENCONTRAR que conduce a una página de resultados de búsqueda.
- Al desarrollar un juego para Android, ¿para qué dispositivos Android debes optimizar?
- ¿Cuál es el mejor sistema de control de fuente para el desarrollo de Android en Android Studio?
- Cómo desarrollar una aplicación de Android
- ¿Hay alguna biblioteca de chat disponible para Android (cliente) y PHP (servidor)?
- Cómo editar una aplicación de Android y hacerla mía
Si no usa MVP o cualquier otra arquitectura, debe poner todo dentro de su Activity
o Fragment
:
findButton.setOnClickListener (nueva View.OnClickListener () {
@Anular
public void onClick (Ver vista) {
callTheNetworkSearchMethod (); }
});
Ahora, ¿qué sucede si desea cambiar la API de punto final de su dirección de búsqueda? De esta manera, debe cambiar esa Actividad para todo, incluso la API de punto final. ¿Pero es razonable? Definitivamente no.
En un proyecto de equipo, cuando el desarrollador principal revisa la característica que ha desarrollado, descubre que toda la Actividad se cambia por solo agregar una única funcionalidad. Si hay otro desarrollador trabajando en agregar otra función a la misma Actividad, incluso podría tener conflictos y tener que dedicar un tiempo a resolverlo.
Todas las mejoras anteriores y muchas otras están a su alcance utilizando MVP, en el que simplemente escribe:
findButton.setOnClickListener (nueva View.OnClickListener () {
@Anular
public void onClick (Ver vista) {
mPresenter.doWhenFindButtonIsClicked (); }
});
Ahora, si desea cambiar algo cuando se hace clic en el botón ENCONTRAR, lo haría en Presenter y la Vista permanecerá intacta.
Este es uno de los aspectos más importantes del uso de patrones arquitectónicos, llamado ‘separación de preocupaciones’.
Si está interesado en saber más sobre cómo MVP puede ayudar con un proyecto de Android, junto con una aplicación de muestra completa, consulte mi artículo MVP.