Estoy aprendiendo Java a ser un programador de Android. ¿Debo aprender patrones de diseño? ¿Son necesarios en la programación de Android?

Sí, definitivamente debe aprender los patrones de diseño básicos (Patrones de diseño | El diseño orientado a objetos es un buen lugar para comenzar).
Por que es importante
1.) Android es OS / Framework y requeriría el conocimiento práctico de cómo y cuándo usar qué API del SDK y su cableado interno para aprovechar al máximo el SDK de Android. Conocer el patrón utilizado lo ayudará a tener una idea de la forma recomendada de usar la API.

2.) El propio marco de Android utiliza muchos patrones de diseño diferentes y, si tiene una idea, puede comprender el marco subyacente fácilmente y también extender los patrones en su código.

3.) Algún ejemplo de patrones de diseño utilizados en Android SDK (no hablaré sobre el marco de Andorid ya que son más complicados y no están directamente expuestos para el desarrollo)
Aquí hay algunos ejemplos de patrones utilizados por Android SDK.
a.) Adaptadores de lista -> Patrón MVC
b.) Observador de archivos -> Patrón de observador
c.) WindowManager-> Patrón de adaptador
d.) Bluetooth -> Patrón de comando
e) Archivo, E / S de flujo -> Patrón de decorador
f) Mapa de bits -> Patrón de grupo de objetos

aparte de esto, verá un uso extenso de Factory Pattern, Abstract Factory, Proxy pattern, Singleton pattern en el código.
También el desarrollador de código abierto de Android ha agregado nuevos patrones de diseño que se recomiendan para el uso del SDK de Android como ” WakefulIntentService “.

Según Wikipedia:

Los patrones de diseño son soluciones a los problemas de diseño de software que se encuentran una y otra vez en el desarrollo de aplicaciones del mundo real.

Por lo tanto, si desea evitar aquellos problemas para los que ya se han encontrado soluciones, debe aprender los patrones de diseño.

Sin embargo, puede optar por desarrollar aplicaciones en Android sin ningún conocimiento sobre los patrones de diseño, ya que los patrones de diseño solo mejoran la arquitectura de la aplicación y reducen los problemas.

Estoy de acuerdo con otros en que los patrones de diseño son útiles para programar usando cualquier lenguaje. Específicamente en Android mientras se usa un diseño basado en fragmentos con menú deslizante o pestañas, el patrón de visitante ayuda a hacerlo más organizado. El patrón Singleton se usa en varios escenarios en los que no desea reiniciar el objeto cada vez. Por ejemplo, al hacer la cola de solicitud para la conexión http en Volley.

Los patrones de diseño son independientes del lenguaje. Los patrones de diseño capturan soluciones que se han aplicado con éxito a los problemas. Al aprender estos patrones y el problema relacionado, un desarrollador sin experiencia aprende mucho sobre el diseño de software.

Los patrones de diseño son independientes de cualquier lenguaje de programación. Son igualmente importantes, sin importar la tecnología / plataforma en la que trabaje. Si aprende y aplica correctamente, su producto de software será reutilizable, lo que debería ser su objetivo final al escribir software.

More Interesting

Estoy interesado en el desarrollo de aplicaciones. ¿Dónde en Mumbai puedo aprenderlo?

Soy nuevo en Android y tengo problemas recurrentes con Mozilla Thunderbird Lightning en mi PC, así que quiero hacer un cambio. ¿Cuál es una buena aplicación de calendario de archivos tickler que se sincroniza con una PC con Windows y Android?

Estoy trabajando en una aplicación donde podría localizar productos de abarrotes una vez que entre a la tienda a través de mi dispositivo Android con la ayuda de etiquetas RFID implementadas en los productos. ¿Es esto posible?

Quiero desarrollar aplicaciones para Android. ¿Desde dónde comenzaré?

Estoy a punto de escribir una nueva aplicación para Android. ¿Qué quieren que escriba?

Quiero aprender a desarrollar aplicaciones de Android desde cero. ¿Dónde y cómo empiezo?

Quiero aprender el desarrollo de Android, pero después de ver Android Studio, el IDE desordenado con tantos botones y cosas complicadas, perdí la voluntad de estudiar y codificar. ¿Hay algún otro sitio donde pueda aprender Android de una mejor manera?

Mi dispositivo Android me dice que no tengo suficiente espacio en mi dispositivo. ¿Qué tengo que hacer?

Tengo una idea de negocios Para eso, estoy planeando iniciar una aplicación en Android e iOS. ¿Qué ayuda hay en el proceso de iniciar una aplicación?

Tengo 16 años y sé algunos conceptos básicos de HTML, Java y C ++. Quiero desarrollar aplicaciones para Android y trabajar en Google. ¿Qué debería aprender a continuación? ¿De dónde debería aprender?

Quiero crear una aplicación móvil sin codificación. ¿Cuáles son mis opciones? ¿Qué CMS debo usar?

Pude jugar Summoner's War (un juego de Android) en mi Xperia Mini hasta hace unos 6 meses, ahora no puedo. ¿Cómo hago que mi teléfono lo reproduzca?

Tengo ideas para aplicaciones, ¿a dónde puedo ir para aprender el desarrollo de aplicaciones de Android?

Tengo experiencia en el desarrollo de aplicaciones de Android y quiero aprender el desarrollo de back-end de Java. ¿Cómo podría comenzar?

Mi cuenta de desarrollador de Google Play está suspendida. ¿Por qué Google siempre ha prohibido la cuenta de desarrollador y mis aplicaciones?