Cómo entender mejor el patrón de diseño

Experiencia y práctica. Los nuevos desarrolladores de Java (en mi experiencia) tienden a:

  1. No tengo idea sobre el diseño / patrones y escribimos una gran cantidad de código no estructurado que es un desastre.
  2. He leído algunos libros de patrones de diseño OO y luego reviso los patrones de diseño de horquillado de sus libros en todas partes en su código, lo que crea un desorden complicado y sin sentido.

Descubrí que el enfoque óptimo es tratar los patrones de diseño como una herramienta. Cada patrón es bueno para resolver ciertos problemas y terrible cuando se usa de manera inapropiada. Se necesita experiencia para comprender cuándo aplicar un patrón y cuándo no hacerlo.

Una buena regla que debe seguirse es: que sea simple. ¡El código simple es genial! Es fácil de leer, comprender, y puede armar la imagen más grande. Escriba el código que necesite para hacer el trabajo con la solución más simple. Haz lo que tenga sentido.

Básicamente, use patrones cuando: no usar el patrón significa que tendría un código bastante loco que es un desastre. Los patrones están ahí para mantener las cosas simples. Si está tratando de usar un patrón y está haciendo las cosas más complicadas / complicadas, entonces necesita reevaluar.

Los patrones también tienden a ser específicos del idioma debido a las construcciones y enfoques del lenguaje. Algunos patrones en Java no tienen ningún sentido en C #. Sin embargo, la mayoría de los idiomas tienen patrones.

En Java, los patrones comunes que más utilizo son:
– Singleton
– Fábrica
– MVC
– Constructor

Algunos que estuve usando durante años sin darme cuenta de que tenían nombres formales son:

– Fachada
– Delegado
– Adaptador

De todas formas. Sugiero no preocuparse por los cientos de patrones diferentes que existen. Comience a codificar. Obtenga experiencia y el resto se unirá.

Mucha gente ODIA absolutamente los patrones Java y Java porque trabajaron con desarrolladores o en equipos que se volvieron felices con el patrón y el código se convirtió en un desastre complejo masivo con el que era completamente loco y frustrante trabajar.

Menos es a menudo más. Simple es el camino.

La mejor manera de aprender el patrón de diseño es haciendo un proyecto. No solo de memoria diseñe vocabularios de patrones, sino que los entienda. A continuación hay un buen enlace que explica el patrón de diseño con un proyecto.

Aprenda patrones de diseño de C # paso a paso con un proyecto – Parte 1

Los patrones de diseño no valen nada: son vendajes en un lenguaje o marco incorrecto. (Mirándote Java)

Aprenda un lenguaje de vanguardia que tiene bibliotecas y patrones asombrosos codificados en el marco. Luego construya proyectos para llenar los vacíos. Mejor: únase a una empresa con ingenieros inteligentes que le pagarán para construir proyectos y aprender.

More Interesting

¿Cuál es el mejor sitio de aptitud?

¿Por qué DevOps todavía se encuentra en esta fase en India, donde muchos profesionales todavía dicen 'qué es DevOps'?

¿Cuáles son algunos conceptos / técnicas de control de calidad rápidos y fáciles que aumentarán nuestro nivel de control de calidad?

¿Hay programadores que escriben código prácticamente libre de errores?

¿Cómo puede una versión descifrada de cualquier software dañar mi computadora portátil?

¿Cuán ampliamente utilizado es Scala en la industria del software?

¿Cuál es la relación entre un diagrama de caso de uso y el diagrama de clase? ¿Cuál es la diferencia entre un diagrama de caso de uso y un diagrama de secuencia?

¿Por qué es difícil nombrar las cosas en informática y cómo se puede hacer más fácil?

¿Qué hace que un desarrollador de iOS sea un ingeniero de software senior?

¿Qué se espera de los graduados de Ingeniería de Software?

¿Qué deben saber todos los ingenieros de software sobre Python?

¿Qué última tecnología es mejor para crear una aplicación web realmente rápida y robusta que reciba un tráfico enorme?

¿Qué tipo de trabajo pueden ofrecer las empresas basadas en productos como Flipkart, Facebook, etc. a los ingenieros / desarrolladores de software que se unen cada año? ¿Cuál es el tipo de trabajo que uno puede esperar después de unirse a esas compañías cuando el producto con el que la compañía ya está creada?

¿Cuál es el costo de desarrollar aplicaciones de Android e iOS como Umano en India?

¿Qué hay en la naturaleza de la programación de computadoras que hace que los softwares sean más susceptibles a los errores que los artefactos de otras profesiones?