¿Qué son los patrones de diseño en Java? (diecinueve)

El patrón de diseño de Java es un conjunto de experiencias de diseño de código que se usan repetidamente, son conocidas por la mayoría de las personas, están catalogadas y codificadas. ² Los patrones de diseño pueden ayudarnos a resolver los problemas generales que se enfrentan en el proceso de desarrollo de software y mejorar la legibilidad, reutilización y escalabilidad del código. ³

En Java, generalmente se cree que hay patrones de diseño 23. En términos generales, los patrones de diseño se dividen en tres categorías:⁴

  • Patrones de creación : estos patrones involucran la creación de instancias de clases y proporcionan una forma de ocultar la lógica de creación mientras se crean objetos, en lugar de crear instancias de objetos directamente usando el operador new. Esto permite que los programas sean más flexibles para determinar qué objetos deben crearse para una instancia determinada. ¹ Los patrones de creación incluyen lo siguiente:

    • Modo Singleton : asegúrese de que solo haya una instancia de una clase y proporcione un punto de acceso global para acceder a ella.
    • Patrón de método de fábrica : defina una interfaz para crear objetos y deje que las subclases decidan qué clase instanciar. Los métodos de fábrica difieren la instanciación de una clase a sus subclases. ¹
    • Abstract Factory Pattern : proporciona una interfaz para crear una serie de objetos relacionados o interdependientes sin especificar sus clases concretas. ¹
    • Patrón constructor : separa la construcción de un objeto complejo de su representación para que el mismo proceso de construcción pueda crear diferentes representaciones. ¹
    • Modo de prototipo : use instancias de prototipo para especificar el tipo de objeto que se creará y cree nuevos objetos copiando estos prototipos. ¹
  • Patrones estructurales : estos patrones implican la combinación de clases y objetos, que se utilizan para formar estructuras de objetos grandes para implementar nuevas funciones. ¹ Los patrones estructurales incluyen lo siguiente:

    • Modo adaptador : convierte la interfaz de una clase en otra interfaz que el cliente quiera. El patrón Adapter permite que las clases que de otro modo no funcionarían juntas debido a interfaces incompatibles trabajen juntas. ¹
    • Bridge Pattern : separa una abstracción de su implementación para que ambas puedan variar de forma independiente. ¹
    • Patrón de decorador : agrega dinámicamente algunas responsabilidades adicionales a un objeto. El patrón decorador es más flexible que la subclasificación en términos de agregar funcionalidad. ¹
    • Modo compuesto : Componga objetos en una estructura de árbol para representar una jerarquía de "parte-todo". El modo compuesto permite a los usuarios utilizar objetos individuales y objetos compuestos con consistencia. ¹
    • Modo de apariencia : proporciona una interfaz consistente para un conjunto de interfaces en el subsistema. El modo de apariencia define una interfaz de alto nivel que hace que este subsistema sea más fácil de usar. ¹
    • Modo Flyweight : use la tecnología de uso compartido para admitir de manera efectiva una gran cantidad de objetos de grano fino. ¹
    • Modo proxy : proporcione un proxy para que otros objetos controlen el acceso a este objeto. ¹
  • Patrones de comportamiento : estos patrones involucran la interacción y asignación de responsabilidades entre clases y objetos, y describen cómo diferentes objetos cooperan para completar una tarea. ¹ Los patrones de comportamiento incluyen lo siguiente:

    • Patrón de estrategia : define una serie de algoritmos, los encapsula uno a uno y los hace intercambiables. El modo de estrategia permite que los cambios en el algoritmo no afecten a los clientes que utilizan el algoritmo. ¹
    • Patrón de método de plantilla : define el esqueleto de un algoritmo, delegando algunos pasos a las subclases. El patrón del método de plantilla permite que las subclases redefinan algunos pasos en el algoritmo sin cambiar la estructura del algoritmo. ¹
    • Modo observador : define dependencias de uno a muchos entre objetos. Cuando cambia el estado de un objeto, todos los objetos que dependen de él son notificados y actualizados automáticamente. ¹
    • Modo iterador : proporciona un método para acceder secuencialmente a los elementos de un objeto agregado sin exponer la representación interna del objeto. ¹
    • Patrón de cadena de responsabilidad : para desacoplar el remitente y el receptor de la solicitud, múltiples objetos tienen la oportunidad de procesar la solicitud. Vincule estos objetos en una cadena y pase la solicitud a lo largo de la cadena hasta que un objeto la maneje. ¹
    • Modo de comando : encapsule una solicitud como un objeto, de modo que pueda parametrizar clientes con diferentes solicitudes, poner en cola solicitudes o registrar registros de solicitudes, y admitir operaciones que se pueden deshacer. ¹
    • Patrón de recuerdo : capture el estado interno de un objeto y guárdelo fuera del objeto sin romper la encapsulación. Esto permite restaurar el objeto a su estado guardado anteriormente más tarde. ¹
    • Patrón de estado : permite que un objeto cambie su comportamiento cuando cambia su estado interno. ¹
    • Patrón de visitante : Representa una operación que actúa sobre elementos en una estructura de objeto. Le permite definir nuevas operaciones en elementos sin cambiar su clase. ¹
    • Patrón de mediador : use un objeto intermediario para encapsular una serie de interacciones de objetos. Los mediadores eliminan la necesidad de que los objetos se refieran explícitamente entre sí, lo que los hace poco acoplados y sus interacciones se pueden cambiar de forma independiente. ¹
    • Patrón de intérprete : dado un idioma, defina una representación de su gramática y defina un intérprete que use esta representación para interpretar oraciones en el idioma. ¹

Lo anterior es la introducción y clasificación de 23 patrones de diseño comúnmente utilizados en los patrones de diseño de Java, espero que les sea útil.

Supongo que te gusta

Origin blog.csdn.net/Dakaring/article/details/130501082
Recomendado
Clasificación