Colección de citas famosas - Mensajes de felicitación - Cómo entender la popularidad de los veintitrés patrones de diseño

Cómo entender la popularidad de los veintitrés patrones de diseño

1. Fábrica

Después de perseguir a MM, tengo que invitarte a cenar. Las alitas de pollo de McDonald's y KFC son las comidas favoritas de MM. Aunque el sabor es diferente, ya sea que lleves a tu chica a McDonald's o a KFC, simplemente dile "cuatro alitas de pollo" al camarero. McDonald's y KFC son fábricas que producen alitas de pollo.

Patrón de fábrica: las clases de cliente y las clases de fábrica están separadas. Siempre que los consumidores necesiten un producto, pueden pedírselo al fabricante. Los consumidores pueden aceptar nuevos productos sin modificaciones. La desventaja es que cuando se modifica el producto, la clase de fábrica también debe modificarse en consecuencia. Por ejemplo: cómo crearlo y cómo proporcionárselo al cliente.

2. Constructores

A MM le encanta escuchar las palabras "Te amo". Cuando conozcas a una chica en un lugar diferente, deberías poder decirle esto en su dialecto. Ah, tengo un traductor multilingüe con un botón para cada idioma. Cuando conoces a una chica, puedes decir "Te amo" en el idioma correspondiente. Las chicas extranjeras también pueden manejar esto fácilmente. Este es mi "te amo". Definitivamente es mejor que el traductor utilizado por el ejército estadounidense en Irak.

Patrón de construcción: Separa la representación interna del producto del proceso de generación del producto, de modo que un proceso de construcción puede generar objetos de producto con diferentes representaciones internas. El modo de construcción permite que la apariencia interna del producto cambie de forma autónoma y los clientes no necesitan conocer los detalles de la composición interna del producto. El modo de construcción puede forzar un proceso de construcción paso a paso.

3. Ley de Fábrica

Invita a MM a McDonald's a comer una hamburguesa. Diferentes MM tienen gustos diferentes. Todos lo recuerdan como algo molesto. Normalmente uso fábricas.

Modo método, llevar MM al camarero y decirle "Quiero una hamburguesa". ¿Qué tipo de hamburguesa quieres? Deje que MM se lo diga directamente al camarero.

Patrón de método de fábrica: la clase de fábrica central ya no es responsable de la creación de todos los productos, sino que deja el trabajo de creación específico a las subclases, convirtiéndose en una función de fábrica abstracta, solo responsable de dar clases de fábrica específicas que deben Se implementará la interfaz sin tocar los detalles de qué clase de producto se debe crear una instancia.

4. Prototipo

Cuando charles con MM en QQ, asegúrese de decir algunas palabras afectuosas. He recopilado muchas palabras de amor repugnantes. Cuando es necesario, puedo copiarlas y ponerlas en QQ. Este es mi prototipo. (100 yuanes cada uno, ¿lo quieres?)

Modo de modelo original: especifica el tipo de objeto que se creará dando un objeto prototipo y luego crea más objetos del mismo tipo copiando este objeto prototipo . El modo de modelo original permite agregar o restar categorías de productos dinámicamente. No es necesario que las categorías de productos tengan una jerarquía predeterminada y el patrón del modelo original funciona con cualquier jerarquía. La desventaja es que cada clase debe estar equipada con un método de clonación.

5. Soltero

Tengo seis hermosas esposas. Sus maridos soy todos yo y yo soy nuestro marido, Sigdon. Lo que quieren decir es "marido", y todos se refieren a la misma persona, o sea yo (acabo de tener un sueño, cómo pudo pasar algo tan bueno).

Modo singleton: el modo singleton garantiza que una clase tenga solo una instancia, la crea una instancia por sí misma y proporciona este modo singleton de instancia a todo el sistema. El patrón singleton solo debe usarse cuando existe un verdadero requisito de "instancia única".

[/b:9ceca65206]]Patrón estructural[/b:9ceca65206]

6 Adaptador

Conocí a una hermosa mujer de Hong Kong en casa de un amigo. Fiesta con Sarah, pero yo no hablo cantonés y ella no habla mandarín, así que tuve que pedirle ayuda a mi amigo Kent. Como adaptador entre Sarah y yo, Sarah y yo podemos hablar entre nosotros (me pregunto si me engañará).

Patrón de adaptador (transformador): convierte la interfaz de una clase en otra interfaz esperada por el cliente, de modo que dos clases que no pueden funcionar juntas debido a interfaces no coincidentes puedan trabajar juntas. La clase de adaptación puede devolver instancias apropiadas al cliente según los parámetros.

7. Puente

Di buenos días cuando te reúnas con MM por la mañana y di buenas noches cuando te reúnas con MM por la noche. Cuando conozcas a una chica que lleva ropa nueva, dile que le queda bien. Cuando te encuentres con el nuevo peinado de MM, deberías decir que su cabello se ve bien. No me preguntes: "¿Qué le dijiste a la chica del nuevo corte de pelo esta mañana?" Simplemente combínalo con bridge.

Modo puente: desacople la abstracción y la implementación para que puedan cambiar de forma independiente, es decir, cambie la fuerte correlación entre ellas a una correlación débil, es decir, utilice la abstracción y la implementación entre la abstracción y la implementación de un software. Las relaciones de composición/agregación reemplazan las relaciones de herencia, permitiéndoles variar de forma independiente.

8. Materiales compuestos

Hoy es el cumpleaños de María. "Deberías darme un regalo de cumpleaños". "Bueno, está bien, ve a la tienda y elígelo tú mismo". "Esta camiseta se ve bien, cómprala, esta falda se ve bien, cómprala, este bolso también es bueno". , cómpralo. "Oye, compré tres. Solo prometí darte un regalo". "¿Qué? La camiseta, la falda y el bolso combinan perfectamente". "..." MM puede usarlo. , ¿lo has aprendido?

Modo de composición: el modo de composición organiza los objetos en una estructura de árbol, que se puede utilizar para describir la relación entre el todo y sus partes. El patrón compuesto es un patrón que se ocupa de estructuras de árbol de objetos. Los modelos integrales muestran la relación entre las partes y el todo en una estructura de árbol. El patrón de composición permite a los clientes tratar objetos componentes individuales como objetos compuestos compuestos de ellos.

9. Decoradora de interiores

Es el turno de Sally para el cumpleaños de Mary, así que no la dejes elegir, de lo contrario definitivamente no podrá cubrir los gastos de comida de este mes. Saca la foto que tomé en la cima de la montaña Huashan el año pasado, escribe en la parte de atrás "El mejor regalo es una Fita amorosa", luego ve a la tienda de regalos en la calle a comprar un marco de fotos (la chica que vende regalos es también bonito), y luego búscalo en la casa de al lado Mike, que es diseñador de arte, diseñó una hermosa caja para ponerlo... Ambos somos diseñadores de interiores.

Patrón decorador (Patrón decorador): El patrón decorador extiende la funcionalidad de un objeto de forma transparente al cliente. Esta es una alternativa a la herencia y proporciona más flexibilidad que la herencia. Agregue funciones dinámicamente a un objeto y estas funciones se pueden revocar dinámicamente. Además de una gran cantidad de funciones producidas por permutaciones y combinaciones de algunas funciones básicas.

10. Fachada

Tengo una cámara Nikon profesional y me gusta ajustar manualmente la apertura y el obturador para que las fotos que tomo sean profesionales, pero MM no entiende. estas cosas e incluso me enseña desde hace mucho tiempo. Afortunadamente, la cámara tiene un modo de diseño de elevación. Configure la cámara en modo automático, apunte al objetivo y presione el botón del obturador. Todo lo ajusta automáticamente la cámara. Deja que MM me tome una foto con esta cámara.

Modo fachada: La comunicación externa con el subsistema debe realizarse a través de un objeto de fachada unificado. El modo fachada proporciona una interfaz de alto nivel que hace que el subsistema sea más fácil de usar. Cada subsistema tiene solo una clase de fachada, y esta clase de fachada tiene solo una instancia, es decir, es un patrón singleton. Pero todo el sistema puede tener múltiples clases de fachada.

11. Ligero

Mis dedos están casi agotados de enviar mensajes de texto a mi novia todos los días. Recientemente compré un teléfono nuevo que me permite almacenar algunas frases de uso frecuente. Cuando quieras usarlo, puedes simplemente sacarlo, agregar el nombre del MM delante y enviarlo sin tener que escribirlo palabra por palabra. * * * La frase de disfrute es Flyweight, y el nombre de MM es la característica externa extraída, que se utiliza según el contexto.

Modo de disfrute: Ligero se refiere a la categoría de peso más liviana en el boxeo. El modo de metacompartición admite de manera eficiente una gran cantidad de objetos detallados de una manera * * * compartida. La clave del disfrute en el modelo de metadisfrute es distinguir entre estados internos y externos. El estado interior se almacena en el elemento del disfrute y no cambia cuando cambian las circunstancias. El estado externo cambia con los cambios en el medio ambiente. Los estados externos no pueden afectar a los estados internos, son independientes entre sí. Distinguir el estado que * * * se puede disfrutar y el estado que * * * no se puede disfrutar de la clase regular, y excluir de la clase regular el estado que * * * no se puede disfrutar. El cliente no puede crear * * * objetos de disfrute directamente y debe utilizar un objeto de fábrica para crear * * * objetos de disfrute. Disfrutar del metapatrón reduce en gran medida la cantidad de objetos en la memoria.

12. Agente

Cuando charles con chicas en línea, siempre comience con "Hola, hola" y "¿De dónde eres?" ¿Tú?" ?" Estas palabras son realmente molestas. Escribir un programa para actuar como mi agente. Después de recibir estas palabras, establezca su propia respuesta. Si recibe otras palabras, dígame. ¿Qué tal? Qué genial.

Modo proxy: el modo proxy proporciona un objeto proxy para un objeto, y el objeto proxy controla la referencia al objeto fuente. Agencia es cuando una persona u organización actúa en nombre de otra persona u organización. En algunos casos en los que el cliente no quiere o no puede hacer referencia a un objeto directamente, un objeto proxy puede actuar directamente como intermediario entre el cliente y el objeto de destino. Los clientes no pueden distinguir entre objetos de tema proxy y objetos de tema reales. Es posible que el patrón de proxy no conozca el objeto proxy real, sino que solo contenga una interfaz del objeto proxy. En este momento, el objeto proxy no puede crear un objeto proxy y el objeto proxy debe ser creado y pasado por otras funciones del sistema.

[/b:9ceca65206]]Patrón de comportamiento[/b:9ceca65206]

13. Cadena de responsabilidad

Ir a clase de inglés por la tarde y sentarse. hacia abajo para escapar de la última fila. Vaya, hay varias chicas hermosas sentadas frente a mí. Recibe una nota y escribe "Hola, ¿puedes ser mi novia? Si no, reenvíala" y la nota se transmitirá. Oh, no, la chica de la primera fila le entregó la nota a la maestra. Escuché que era una solterona. ¡Correr!

Patrón de cadena de responsabilidad: En el patrón de cadena de responsabilidad, muchos objetos están conectados a través de la referencia de cada objeto a su próximo hogar, formando una cadena. La solicitud se pasa a lo largo de esta cadena hasta que un objeto de la cadena decide manejar la solicitud. El cliente no sabe qué objeto de la cadena manejará en última instancia esta solicitud, y el sistema puede reorganizar dinámicamente la cadena y asignar responsabilidades sin afectar al cliente. El cuidador tiene dos opciones: asumir la responsabilidad o pasarla a la siguiente familia. En última instancia, es posible que ningún objeto destinatario acepte una solicitud.

14. Órdenes

Tengo una chica cuya familia es muy estricta y no podemos conocernos, así que tengo que enviarnos mensajes entre nosotros con la ayuda de su hermano. Si tenía alguna instrucción para mí, escribía una nota y le pedía a su hermano que me la trajera. No, su hermano emitió otra orden. Para agradecerle, le invité un plato de fideos mixtos. No sé qué dijo: "Envié órdenes a los tres novios de mi hermana al mismo tiempo, así que antes de invitarme a comer, primero calcula tu enojo".

Modo de comando: Comando Un patrón encapsula una solicitud u operación en un objeto. El patrón de comando separa la responsabilidad de emitir comandos de la responsabilidad de ejecutarlos y los delega a diferentes objetos. El modo de comando permite que el solicitante y el remitente sean independientes, de modo que el solicitante no necesita conocer la interfaz del receptor, y mucho menos cómo se recibe la solicitud, si se realiza la operación, cuándo y cómo. El sistema admite la revocación de comandos.

15. Traducción

Tengo un libro "El libro para ligar con chicas", que contiene varias estrategias para ligar con chicas, como los pasos para comer comida occidental y cómo hacerlo. ver películas. Cuando salgas con MM, sé ​​traductor y simplemente sigue el guión anterior.

Modo intérprete: Dado un idioma, el modo intérprete puede definir la representación de su gramática y proporcionar un intérprete. Los clientes pueden utilizar este intérprete para interpretar oraciones en este idioma. El patrón Interpreter describe cómo interpretar estas declaraciones utilizando el diseño de patrones después de tener una sintaxis simple. El lenguaje mencionado en el patrón Intérprete se refiere a cualquier combinación que pueda ser interpretada por cualquier objeto intérprete. En modo intérprete, es necesario definir una jerarquía de clases de comando que representen la gramática, es decir, una serie de reglas de combinación. Cada objeto de comando tiene un método de interpretación que representa la interpretación del objeto de comando. Cualquier permutación de objetos en la jerarquía de objetos de comando es un lenguaje.

16. Iterador

Me enamoré de Mary y le propuse matrimonio desesperadamente. Mary: "Si quieres que me case contigo, debes aceptar mis condiciones". Yo: "Acepto todas las condiciones. Adelante".

Mary: "Estoy obsesionada con ese diamante de un quilate". ." Yo: "La compraré. ¿Hay algo más?" Mary: "Estoy interesada en la villa junto al lago". Yo: "La voy a comprar. ¿Hay algo más?"

Mary: "Estoy obsesionada con ese auto deportivo Ferrari". Me senté en la silla, me zumbaba la cabeza y apreté los dientes. "Compro, compro. ¿Algo más?"...

Subpatrón iterativo: El subpatrón iterativo permite el acceso secuencial a los elementos de un agregado sin exponer las partes internas del agregado. Una colección de múltiples objetos se llama agregado. Un objeto agregado es un objeto contenedor que puede contener un grupo de objetos. El subpatrón de iteración encapsula la lógica de iteración en un subobjeto separado del propio agregado. El subpatrón iterativo simplifica la interfaz para agregados.

Cada objeto agregado puede tener uno o más subobjetos de iteración, y el estado de iteración de cada iteración puede ser independiente entre sí. El algoritmo iterativo se puede cambiar independientemente del rol de agregación.

17. Mediador

Cuatro niñas están jugando mahjong y no saben quién debe darle a quién cuánto dinero. Afortunadamente, yo estaba allí en ese momento y conté el dinero según sus fichas. Cógeme si ganas dinero, compénsame si pierdes dinero, todo está bien. Tengo números de teléfono para cuatro mensajes MMS.

Modo mediador: El modo mediador encapsula la forma en que interactúan una serie de objetos para que estos objetos no tengan que interactuar entre sí de forma explícita. para que puedan acoplarse libremente. Cuando las interacciones entre algunos objetos cambian, no afecta inmediatamente las interacciones entre otros objetos. Asegúrese de que estos efectos se puedan cambiar independientemente uno del otro. Los modelos de mediación convierten interacciones de muchos a muchos en interacciones de uno a muchos. El modelo mediador abstrae el comportamiento y la colaboración de los objetos, manejando las interacciones entre objetos y otros objetos individualmente en acciones a pequeña escala.

18. Recuerdos

Cuando charles con varias chicas al mismo tiempo, asegúrese de recordar claramente lo que les acaba de decir, de lo contrario, las chicas no estarán contentas cuando se enteren. . Afortunadamente, tengo una nota. Copiaré lo que le acabo de decir a la chica y lo guardaré en la nota para poder consultar los registros anteriores en cualquier momento.

Modo Memento: El objeto memo es un objeto que se utiliza para almacenar una instantánea del estado interno de otro objeto. El propósito del patrón Memento es capturar el estado de un objeto, externalizarlo y almacenarlo sin romper la encapsulación para que el objeto pueda restaurarse al estado almacenado en un momento apropiado en el futuro.

19. Observer

¿Quieres conocer la información más reciente sobre MM de nuestra empresa? Simplemente únase al grupo de buzones de correo de información MM de la empresa. Tom recopila información. La nueva información que descubre se publica en el grupo de correo electrónico sin notificarnos uno por uno, para que nosotros, como suscriptores (observadores), podamos recibir la información a tiempo.

Patrón de observador: el patrón de observador define múltiples dependencias, lo que permite que múltiples objetos de observador monitoreen un objeto sujeto al mismo tiempo. Cuando el estado de este objeto de tema cambia, se notifica a todos los objetos observadores para que puedan actualizarse automáticamente.

20. Estado

Al salir con un MM, debes prestar atención a su estado. Su comportamiento variará de un estado a otro. Por ejemplo, si la invitas a ver una película esta noche, una chica que no está interesada en ti dirá "tengo algo que hacer", mientras que una chica que no te odia pero aún no le agradas dirá " Está bien, pero ¿puedes traer a mi colega contigo?" Una chica a la que ya le gustas dirá: "¿Cuándo? ¿Qué tal si vamos al bar después de ver la película?" Por supuesto, si haces un buen trabajo mientras miras la película, También puedes cambiar el estado de la chica de No me gusta a Me gusta.

Patrón de estado: El patrón de estado permite que un objeto cambie su comportamiento cuando cambia su estado interno. Este objeto parece haber cambiado de clase. El patrón de estado envuelve el comportamiento del objeto bajo estudio en diferentes objetos de estado, y cada objeto de estado pertenece a una subclase de una clase de estado abstracto. El propósito del patrón de estado es hacer que el comportamiento del objeto cambie cuando cambia su estado interno. El patrón de estado requiere la creación de subclases de la clase de estado para cada estado posible del sistema. Cuando el estado del sistema cambia, el sistema cambia la subclase seleccionada.

21. Estrategias

Usa diferentes estrategias cuando salgas con diferentes tipos de chicas. Algunos los invitan a ver una película, otros comen bocadillos efectivos y otros van a la playa en busca de romance. El único propósito es complacer a MM. Hay muchas estrategias en mi caja de herramientas para perseguir chicas.

Patrón de política: El patrón de política es para un conjunto de algoritmos. Cada algoritmo se encapsula en una clase independiente con la misma interfaz, lo que los hace intercambiables. El modo de estrategia permite cambiar los algoritmos sin afectar a los clientes. Los modelos estratégicos separan el comportamiento del entorno. La clase de entorno es responsable de mantener y consultar la clase de comportamiento, y la clase de estrategia específica proporciona varios algoritmos. Debido a que el algoritmo y el entorno son independientes, las sumas, restas y modificaciones del algoritmo no afectarán al entorno ni al cliente.

22. Método de plantilla

¿Has leído el clásico artículo "Cómo persuadir a las chicas para que tengan sexo"? Los mismos pasos para que las niñas se vayan a la cama se dividen en ocho pasos: encontrarse por casualidad, romper el hielo, perseguir, besar, juegos previos, práctica, acariciar y entrar (método de plantilla), pero cada paso es diferente para diferentes situaciones, depende de su rendimiento en el momento (implementación específica);

Patrón de método de plantilla: el patrón de método de plantilla prepara una clase abstracta e implementa cierta lógica en el formulario. de métodos concretos y constructores concretos, y luego declarar algunos métodos abstractos obliga a las subclases a implementar el resto de la lógica. Diferentes subclases pueden implementar estos métodos abstractos de diferentes maneras y, por tanto, tener diferentes implementaciones de la lógica restante. Primero cree un marco lógico de nivel superior y deje los detalles de la lógica para que las implementen subclases específicas.

23. Visitantes

El día de San Valentín se acerca. Quiero enviarle a cada niña un ramo de flores y una tarjeta, pero las flores enviadas a cada niña deben basarse en su personalidad. Características. Cada carta se elige en función de sus características personales. No sé cuál es, así que lo mejor es visitar al florista y al dueño de la tienda de regalos, para que el florista pueda elegir un ramo de flores según las características de la niña, y el dueño de la tienda de regalos también pueda elegir una tarjeta según las características de cada persona, esto será mucho más fácil.

Patrón de visitante: El propósito del patrón de visitante es encapsular algunas operaciones impuestas sobre algunos elementos de la estructura de datos. Una vez que es necesario modificar estas operaciones, la estructura de datos que acepta esta operación puede permanecer sin cambios. El patrón de visitante es adecuado para sistemas con estructuras de datos relativamente inciertas. Desacopla la estructura de datos de las operaciones que actúan sobre la estructura, permitiendo que el conjunto de operaciones evolucione con relativa libertad. El patrón de visitante facilita la adición de una nueva operación, que consiste en agregar una nueva clase de visitante. El patrón de visitante concentra comportamientos relacionados en un objeto de visitante en lugar de distribuirlos en clases de nodos separados. Cuando utilice el patrón de visitante, debe colocar la mayor cantidad posible de lógica de exploración de objetos en la clase de visitante en lugar de en sus subclases. El patrón de visitante permite el acceso a través de varias jerarquías de clases a clases de miembros que pertenecen a diferentes jerarquías.