El diagrama de estructura necesario de 23 patrones de diseño.

Los diagramas de estructura y las definiciones de 23 patrones de diseño se resumen aquí, y el código de muestra está en Github: studeyang/design-pattern .

1. Modo de creación

1.1 Patrón de fábrica simple

1.2 Patrón de método de fábrica

El patrón del método de fábrica define una interfaz para crear objetos y permite que las subclases decidan qué clase instanciar. Los métodos de fábrica difieren la instanciación de una clase a sus subclases.

1.3 Patrón de fábrica abstracto

El patrón de fábrica abstracto proporciona una interfaz para crear una serie de objetos relacionados o interdependientes sin especificar sus clases concretas.

1.4 Patrón de prototipo

Modo de prototipo, utilizando instancias de prototipo para especificar el tipo de objeto que se creará y creando nuevos objetos copiando estos prototipos.

1.5 Modo constructor

El 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.

1.6 Modo singleton

El patrón singleton asegura que una clase tenga solo una instancia y proporciona un punto de acceso global para acceder a ella.

2. Modelo estructural

2.1 Modo adaptador

El patrón de adaptador convierte la interfaz de una clase en otra interfaz que el cliente quiere. El patrón Adapter permite que las clases que de otro modo no funcionarían juntas debido a interfaces incompatibles trabajen juntas.

2.2 Modo puente

El patrón puente, que separa la abstracción de su implementación para que ambas puedan variar de forma independiente.

2.3 Modo de combinación

Modo compuesto, que compone 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.

2.4 Modo de decoración

El modo de decoración agrega dinámicamente algunas responsabilidades adicionales a un objeto En términos de agregar funcionalidad, el modo de decoración es más flexible que la generación de subclases.

2.5 Modo de apariencia

El modo de apariencia proporciona una interfaz consistente para un conjunto de interfaces en el subsistema.Este modo define una interfaz de alto nivel que hace que el subsistema sea más fácil de usar.

2.6 Modo de peso mosca

El modo Flyweight utiliza tecnología compartida para admitir de manera efectiva una gran cantidad de objetos de grano fino.

2.7 Modo proxy

El modo proxy proporciona un proxy para que otros objetos controlen el acceso a este objeto.

3. Patrones de comportamiento

3.1 Modo intérprete

El patrón de intérprete, dado un idioma, define una representación de su gramática y define un intérprete que usa esta representación para interpretar oraciones en el idioma.

3.2 Patrón de método de plantilla

El patrón Template Method, que define el esqueleto de un algoritmo en una operación, delegando algunos pasos a las subclases. El método de plantilla permite que las subclases redefinan algunos pasos específicos de un algoritmo sin cambiar la estructura del algoritmo.

3.3 Patrón de estrategia

Escenario: Promoción de centro comercial. Aunque el modelo de fábrica simple también puede resolver este problema, este modelo solo resuelve el problema de la creación de objetos, y debido a que la propia fábrica incluye todos los métodos de cobro, es posible que el centro comercial cambie el monto del descuento y el monto del reembolso con frecuencia, y cobre por cada mantenimiento o expansión La fábrica debe cambiarse de alguna manera. Así que no es la mejor manera.

Ante los frecuentes cambios en el algoritmo, debería haber una mejor manera.

Modo estrategia: Define la familia de algoritmos y los encapsula por separado para que puedan ser reemplazados entre sí, este modo permite que los cambios en el algoritmo no afecten a los clientes que utilizan el algoritmo.

3.4 Patrón de observador

El patrón Observer define una dependencia de uno a muchos, lo que permite que varios objetos de observador controlen un objeto sujeto al mismo tiempo. El objeto sujeto notifica a todos los objetos observadores los cambios de estado, lo que les permite actualizarse automáticamente.

3.5 Modo Estado

El patrón de estado, que permite cambiar el comportamiento de un objeto cuando cambia su estado interno, el objeto parece cambiar su clase.

3.6 Modo de memoria

Memo: Capture el estado interno de un objeto y guarde ese estado fuera del objeto sin romper la encapsulación. Esto permite restaurar el objeto a su estado guardado anteriormente más tarde.

3.7 Patrón de iterador

El patrón iterador proporciona una forma de acceder secuencialmente a los elementos de un objeto agregado sin exponer la representación interna del objeto.

3.8 Modo de comando

Modo de comando, que encapsula una solicitud como un objeto, para que pueda parametrizar clientes con diferentes solicitudes: solicitudes en cola o registros de solicitudes de registro, y admitir operaciones que se pueden deshacer.

3.9 Modelo de Cadena de Responsabilidad

El patrón Cadena de responsabilidad permite que múltiples objetos tengan la oportunidad de procesar solicitudes, evitando así la relación de acoplamiento entre el remitente y el receptor de la solicitud. Vincule los objetos en una cadena y pase la solicitud a lo largo de la cadena hasta que un objeto la maneje.

3.10 Modo intermediario

El patrón Mediator utiliza 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.

3.11 Modo Visitante (adjunto)

El patrón Visitor representa una operación sobre los elementos de una estructura de objeto. Le permite definir nuevas operaciones en elementos sin cambiar su clase.

Otros documentos relacionados

la cubierta

Supongo que te gusta

Origin blog.csdn.net/yang237061644/article/details/130699814
Recomendado
Clasificación