Una breve guía de los patrones de diseño en JavaScript



Este artículo lo ayudará con un enfoque detallado sobre los patrones de diseño en JavaScript de una manera simplificada para una mejor comprensión.

son las soluciones avanzadas orientadas a objetos para los problemas de software habituales. Los patrones son los diseños e interacciones reutilizables de objetos. Cada patrón tiene un nombre y se convierte en parte de un vocabulario cuando se discuten soluciones de diseño complejas.

¿Qué son los patrones de diseño en JavaScript?

se puede definir como un plantilla de software o una descripción para resolver un problema que ocurre en múltiples instancias al diseñar una Aplicación de Software o un Marco de Software.





Patrones de diseño de constructor

Ahora, hablemos de la Banda de los Cuatro (GoF)



Pandilla de cuatro

los 23 Banda de cuatro (GoF) los patrones generalmente se consideran la base de todos los demás patrones.

La pandilla de los cuatro (GoF) de Design Patterns:



Elementos de software reutilizable orientado a objetos, serie de cómputo profesional Addison-Wesley, por Erich Gamma, Richard Helm, Ralph Jhonson, y John Vlissides. TEstos 23 patrones de GoF generalmente se consideran la base de todos los demás patrones.Se clasifican en tres grupos: Creacional, Estructural y Conductual.

Tipos de patrones de diseño

Básicamente, hay tres tipos diferentes de patrones de diseño en JavaScript. Son los siguientes:

Patrones de creación

Fábrica abstracta: Esto crea una instancia con varias familias de clases. Esto proporciona una interfaz para crear familias que son objetos relacionados o dependientes sin ninguna especificación de sus clases concretas.

Constructor: Esta construcción de objeto separada de su representación. También separa la construcción de un objeto complejo de su representación para que se pueda crear exactamente el mismo proceso de construcción con diferentes representaciones.

diferencia entre hashmap y hashtable en java

Método de fábrica: Esto crea una instancia para varias clases derivadas. También define una interfaz para crear un objeto, pero permite que la subclase decida qué clase instanciar. Esto también tiene un método de fábrica que permite que una clase difiera la instanciación a subclases.

Prototipo: Es una instancia completamente inicializada que se puede copiar o clonar. Específicamente, el tipo de objetos para crear usando una instancia prototípica, crea nuevos objetos copiando este prototipo.

Único: Son instancias completamente inicializadas para ser copiadas o clonadas.Es un tipo específico de objetos para crear utilizando una instancia prototípica y crear nuevos objetos copiando este prototipo.

Patrones estructurales

Adaptador: Coincide con interfaces de las diferentes clases. También convierte la interfaz de una clase en otra interfaz excepto la que tiene el cliente. El adaptador también permite que las clases trabajen juntas que no podrían haber sido de otra manera debido a las interfaces de incompatibilidad.

Puente: Separa la interfaz de un objeto de su implementación. Desacoplar un resumen de su implementación para que los dos puedan variar de forma independiente.

Compuesto: Una estructura de árbol es de objetos simples y compuestos, objetos compuestos en estructuras de árbol para representar jerarquías de parte y todo. Composite permite a los clientes tratar objetos individuales y composiciones de objetos de manera uniforme.

Decorador: Agrega las responsabilidades a los objetos de forma dinámica. Adjunta las responsabilidades adicionales a un objeto de forma dinámica. Los decoradores también ofrecen una alternativa flexible a las subclases para ampliar las funcionalidades.

Fachada: Una sola clase que representa un subsistema completo y proporciona una interfaz unificada para un conjunto de interfaces en un sistema. Façade define una interfaz de nivel superior que facilita el uso del subsistema.

Peso mosca: Una instancia detallada que se utiliza para compartir de manera eficiente para admitir una gran cantidad de objetos detallados de manera eficiente. Un peso mosca es un objeto compartido que se puede utilizar en varios contextos simultáneamente.El peso mosca también actúa como un objeto independiente en cada contexto: es indistinguible de una instancia de los objetos que no se comparten.

Apoderado: Es un objeto que representa a otro objeto. Proporciona un objeto sustituto o marcador de posición para controlar el acceso a él.

Patrones de comportamiento:

Cadena de responsabilidad: Es una forma de pasar una solicitud entre una cadena de objetos. Evita el acoplamiento con el remitente y envía una solicitud a su receptor dando a más de un objeto la oportunidad de manejar la solicitud. Los objetos receptores se encadenan y pasan la solicitud a lo largo de la cadena hasta que un objeto la maneja.

Mando: Encapsula una solicitud de comando como un objeto. Solicitud encapsulada como un objeto, lo que le permite parametrizar clientes con diferentes solicitudes, solicitudes de cola o registro, y respaldar las operaciones que se pueden deshacer.

Interprete: Es una forma de incluir elementos del lenguaje en un programa. Dado un idioma, defina una representación para su gramática junto con un intérprete que use la representación para interpretar oraciones en el idioma.

Iterador: El acceso secuencial de los elementos de una colección proporciona una forma de acceder a los elementos de un objeto agregado secuencialmente sin exponer su representación subyacente.

Mediador: Define simplifica la comunicación entre clases. Defina un objeto que encapsule cómo interactúa un conjunto de objetos. Mediador promueve el acoplamiento flexible al evitar que los objetos se refieran entre sí de manera explícita, y le permite variar su interacción de forma independiente.

Recuerdo: Captura y restaura el estado interno del objeto. No viola la encapsulación, captura y externaliza el estado interno de un objeto para que el objeto pueda restaurarse a este estado más adelante.

Observador: Es una forma de notificar el cambio a varias clases. Define una dependencia de uno a muchos entre los objetos, de modo que cuando un objeto cambia de estado, todas sus dependencias se notifican y actualizan automáticamente.

Estado: Altera el comportamiento de un objeto cuando cambia su estado. Permite que un objeto altere su comportamiento cuando su estado interno cambia. El objeto parecerá cambiar su clase.

Estrategia: Encapsula un algoritmo dentro de una clase y define un algoritmo de familia, encapsula cada uno y los hace intercambiables. La estrategia permite que el algoritmo varíe independientemente de los clientes que lo utilicen.

Modelo: Difiera los pasos exactos de un algoritmo a una subclase. Define el esqueleto de un algoritmo en una operación y difiere algunos pasos importantes a las subclases. El método de plantilla nos permite crear una subclase para redefinir ciertos pasos de un algoritmo sin cambiar la estructura del algoritmo.

Visitante: Define una nueva operación a una clase sin cambios. Representa una operación a realizar sobre los elementos de una estructura de objeto. Visitor le permite definir una nueva operación sin cambiar las clases de los elementos sobre los que opera.

Con esto llegamos al final de este artículo. Espero que haya entendido los patrones de diseño en JavaScript, sus tipos, importancia y su implementación.

Ahora que ha entendido los conceptos básicos de los patrones de diseño en JavaScript, consulte la por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de certificación y capacitación Java J2EE y SOA de Edureka está diseñado para estudiantes y profesionales que desean ser desarrolladores de Java. El curso está diseñado para darle una ventaja inicial en la programación de Java y capacitarlo para los conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Primavera .

Tienes una pregunta para nosotros? Menciónalo en la sección de comentarios de este blog de “Patrones de diseño en JavaScript” y te responderemos lo antes posible.