Red de conocimiento de recetas - Servicios de restauración - ¿Cuáles son los patrones de diseño de JAVA?

¿Cuáles son los patrones de diseño de JAVA?

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 novia a McDonald's o a KFC, simplemente dile "cuatro alitas de pollo" al camarero. McDonald's y KFC son modelos de fábrica para producir alitas de pollo: los clientes y las fábricas están separados. Siempre que los consumidores necesiten un producto, pueden pedírselo a la fábrica. 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. 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 decirle "Te amo" en el idioma correspondiente. Las chicas extranjeras también pueden manejar esto fácilmente. Este es mi "te amo". (Esto es definitivamente mejor que el traductor utilizado por el ejército estadounidense en Irak). Modo de construcción: separe la representación interna del producto del proceso de producción del producto, de modo que un proceso de construcción pueda producir 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 mms tienen gustos diferentes, es molesto que todos lo recuerden. Normalmente llevo a mi novia al camarero y le digo "quiero una hamburguesa". Deja que la chica le diga directamente al camarero qué tipo de hamburguesa quiere. 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 un rol de fábrica abstracto, solo responsable de proporcionar la interfaz que la clase de fábrica específica debe implementar, sin tocar los detalles específicos de qué clase de producto se debe crear una instancia.

4. Cuando charle 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 la copia, ¿la quieres?) Modo de modelo original: especifique el tipo de objeto que se creará dando un objeto prototipo y luego cree 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 todos quieren decir es "marido", y todos se refieren a la misma persona, o sea yo (acabo de tener un sueño, no bueno). Modo Singleton: el modo Singleton garantiza que una clase tenga solo una instancia, que ella misma crea una instancia y la proporciona a todo el sistema. Patrón singleton. El patrón singleton solo debe usarse cuando existe un verdadero requisito de "instancia única". [/b:9ceca65206]]Patrón estructural[/b:9ceca65206]

6. Conocí a Sarah, una hermosa mujer de Hong Kong, en la fiesta de un amigo, pero yo no podía hablar cantonés y ella no podía hablar mandarín, así que tuve que pedir 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 las dos interfaces no pueden funcionar juntas debido a interfaces que no coinciden. La clase de adaptación puede devolver instancias apropiadas al cliente según los parámetros.

7. ¿Puente? Dile buenos días cuando la encuentres por la mañana y dile buenas noches cuando la encuentres 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 "¿Cómo dices que conocí a una chica con un nuevo peinado esta mañana?" Simplemente combínalo con bridge. Desacoplar la abstracción y la implementación para que puedan cambiar de forma independiente, es decir, cambiar su asociación fuerte a asociación débil, es decir, reemplazar la relación de herencia con una relación de combinación/agregación entre la abstracción y la implementación de un sistema de software para que puedan cambiar de forma independiente. .

8. El cumpleaños de María es hoy. "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í dar un regalo".

""¿Qué? Camisetas, faldas y bolsos son la combinación perfecta. Señora, por favor termine. ""...", MM puede usar el modo compuesto, ¿lo has aprendido? Modo de composición: el modo de composición organiza los objetos en una estructura de árbol, que se puede usar para describir la relación entre el todo y las partes. El modo de composición es un patrón que maneja estructuras de árbol de objetos. El modelo compuesto expresa la relación entre partes y todos en una estructura de árbol. El patrón de composición permite al cliente tratar objetos componentes individuales como objetos compuestos compuestos por ellos. Le toca a Sally ser el cumpleaños de Mary, así que no la dejes elegir, de lo contrario definitivamente no podrá llegar a fin de mes este mes. Saca la foto que tomé en la cima de la montaña Huashan el año pasado y escribe en la parte posterior "El. El mejor regalo es el amor". "Fita", luego ve a la tienda de regalos de la calle a comprar un marco de fotos (la chica que vende regalos también es hermosa) y luego pregúntale a Mike, que se dedica al diseño artístico al lado, para diseñar una bonita caja para ponerla... Todos somos diseñadores de interiores Modo Decoración (Patrón Decorador): El patrón Decorador extiende la funcionalidad de un objeto de forma transparente al cliente. Es una alternativa a la herencia y aporta más flexibilidad. que la herencia para agregar funciones dinámicamente a un objeto. Además, se pueden generar una gran cantidad de funciones mediante la combinación de algunas funciones básicas.

10. Cámara y me gusta ajustar manualmente la apertura y el obturador. Las fotos tomadas de esta manera son profesionales, pero MM no sabe estas cosas e incluso tomó mucho tiempo para enseñarlas. Afortunadamente, la cámara tiene un modo de diseño de elevación. la cámara al modo automático, apunte al objetivo y presione el obturador. Todo es ajustado automáticamente por la cámara, deje que MM me tome una foto con esta cámara: la comunicación externa con el subsistema debe realizarse a través de un unificado. Objeto de fachada. El modo de fachada proporciona una interfaz de alto nivel para 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 modo singleton. El sistema puede tener múltiples clases de fachada.

11. ¿FLYWEIGHT? Envía mensajes de texto a MM todos los días. Estoy tan cansado que compré un teléfono móvil nuevo. en él, cuando quiero usarlo, puedo sacarlo y enviarlo con el nombre de MM delante. No tengo que escribirlo palabra por palabra. La frase de disfrute es Flyweight. el nombre de MM es la característica externa extraída, que se utiliza según el contexto. Modo de disfrute: liviano se refiere al peso más liviano en el boxeo. El modo de intercambio meta admite grandes números de manera eficiente * * *. objetos La clave para el disfrute en el modelo de meta-disfrute es distinguir entre estados internos y externos. El estado interno se almacena en el elemento de disfrute y no cambia con el cambio del entorno. son independientes entre sí. Distinguen el estado que * * * se puede disfrutar y el estado que * * * no se puede disfrutar de la clase regular, y separan el estado que * * * no se puede disfrutar de la clase excluida. 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? Chatear con chicas en línea siempre comienza con "Hola, hola" y "¿De dónde eres?" "¿Cuántos años tienes?" "¿Qué altura tienes?". 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. Patrón de proxy: el patrón de 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. Fui a clase de inglés por la noche y me senté en la última fila para escapar.

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. ¿Orden? Tengo una niña cuya familia es muy estricta y no podemos conocernos, entonces tengo que enviarnos mensajes 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é lo que dijo: "Envié órdenes a los tres novios de mi hermana al mismo tiempo, así que antes de invitarme a comer fideos, primero calcula tu enojo. Modo de comando: el modo de comando encapsula la solicitud u operación en un". en el 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 llamado "El libro para ligar con chicas", que contiene varias estrategias para ligar con chicas, como los pasos para comer comida occidental y cómo ver películas. Cuando salgas con MM, sé ​​traductor y simplemente sigue el guión anterior. Patrón de intérprete: dado un idioma, el patrón de intérprete define la representación de su gramática al tiempo que proporciona 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 pedí que se casara conmigo de todos modos. María: "Si quieres que me case contigo, debes aceptar mis condiciones". Yo: "Estoy de acuerdo con cualquier condición. Adelante". María: "Estoy obsesionada con ese diamante de un quilate". La compraré, la compraré. ¿Hay algo más?" María: "Estoy interesada en una villa junto al lago". Yo: "La compraré, la compraré. ¿otra cosa?" 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 elementos de un agregado sin exponer la representación interna 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úa un conjunto de objetos para que estos objetos no tengan que interactuar explícitamente entre sí. 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. Patrón de recuerdo: un objeto de nota 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. ¿Quiere conocer la información más reciente sobre MM de nuestra empresa? Simplemente únase al grupo de correo electrónico de información MM de la empresa. Tom recopila información. Cuando descubre nueva información, no nos notifica uno por uno, sino que la publica directamente en el grupo de correo electrónico. Como suscriptores (observadores), podemos recibir información a tiempo. Patrón de observador: el patrón de observador define las dependencias de varios equipos, lo que permite que varios 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. Al salir con 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 que ya se ha enamorado de ti dirá: "¿Cuándo? ¿Qué tal si vamos al bar después de ver la película?" Eso sí, si haces un buen trabajo mientras Al ver 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 en 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. Utilice diferentes estrategias cuando salga 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 se vayan a la cama"? Los pasos inmutables para que las niñas se vayan a la cama se dividen en ocho métodos modelo: encuentro inesperado, romper el hielo, persecución, besos, juegos previos, práctica, caricias y entrada. Sin embargo, cada paso tiene diferentes métodos según las diferentes situaciones. dependiendo de su improvisación (implementación específica Patrón de método de plantilla: Patrón de método de plantilla prepara una clase abstracta, implementa algo de lógica en forma de métodos concretos y constructores concretos, y luego declara algunos métodos abstractos para forzar 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. Se acerca el día de San Valentín y quiero regalarle a cada niña un ramo de flores y una tarjeta, pero las flores enviadas a cada niña deben basarse en sus características personales, y cada tarjeta debe seleccionarse en función de sus características personales. No sé cuál es, pero es mejor buscar como visitantes a un florista y al dueño de una 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 elige 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 a 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.