¿Quién puede presentar algunos de los patrones de diseño más utilizados en el desarrollo de plataformas JAVA? Es mejor si son fáciles de entender y tienen ejemplos. Se otorgarán 500 puntos.

Los ejemplos son muy diferentes, pero fáciles de entender.

El patrón de fábrica, el patrón de método de fábrica, el patrón singleton, el patrón de fachada, el patrón de observador y el patrón de puente se utilizan comúnmente. Diferentes proyectos tienen diferentes direcciones de diseño y los patrones de diseño a los que se puede hacer referencia también son diferentes. No hay un número fijo, pero los patrones anteriores se utilizan con más frecuencia.

Encontré otros modos y los enumeré todos.

======================

Patrones de diseño comunes en Java

Patrones de innovación

1. Fábrica: coma después de perseguir a MM. Las alitas de pollo de McDonald's y KFC son las favoritas de las niñas. 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. A Builder-MM le gusta más 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, sólo necesitas presionar el botón correspondiente, y podrá decir "Te amo" en el idioma correspondiente. Las chicas extranjeras también pueden hacerlo fácilmente. Esto es mío. 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. Factory Law: invita a MM a McDonald's a comer una hamburguesa. Diferentes mms tienen gustos diferentes, es molesto que todos lo recuerden. Yo suelo utilizar el método de fábrica, llevar a la chica al camarero y decirle "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 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. Recopilé muchas palabras de amor repugnantes, las copié y las puse en QQ cuando fue necesario. 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 son todos míos. Soy nuestro marido Sigdon. Siempre que digas "marido", todo se refiere a la misma persona, ese soy 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".

Modelo estructural

6.ADAPTADOR——Conocí a una hermosa mujer de Hong Kong, Sarah, en la fiesta de un amigo, pero yo no puedo hablar cantonés y ella no puede hablar. 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 - Si conoces a una chica por la mañana, dile buenos días; si conoces a una chica por la noche, dile buenas noches; si conoces a una chica que lleva ropa nueva, dile que la ropa se ve 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.

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—El cumpleaños de María es el turno de Sarly, no la dejes elegir, de lo contrario definitivamente no podrá cubrir los gastos de alimentación 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 muy hermoso), y luego pídale a Mike, el diseñador de arte de al lado, que diseñe una hermosa caja y la coloque...

Patrón decorador: El patrón decorador extiende la funcionalidad de los objetos de una manera transparente para el cliente Esta es una relación de herencia. Una alternativa que 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 tomadas sean profesionales, pero MM no entiende estas cosas, incluso después. enseñándome durante 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. FLYWEIGHT——Enviando mensajes de texto a MM todos los días, mis dedos están casi agotados. Recientemente compré un teléfono móvil nuevo y puedo guardar algunas frases de uso frecuente en el teléfono móvil. Cuando quieras usarlo, puedes simplemente sacarlo, agregar el nombre del MM al frente y enviarlo sin escribir 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 chateas con chicas en línea, siempre comienzan con "Hola, hola" y "¿De dónde eres?" "¿Cuántos años tienes?" Son realmente muy molestos. Escribir un programa para actuar como mi agente. Cuando recibas estas palabras, puedes configurar una respuesta automática para notificarme cuando recibas otras palabras. ¿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.

Patrón de comportamiento

13. Cadena de responsabilidad: ir a clase de inglés por la noche y sentarse 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 por la referencia de cada objeto a su siguiente directorio de inicio.

Levántate 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. COMANDO————Tengo una niña. La familia es muy estricta y no podemos conocernos. Tenemos que enviarnos mensajes entre nosotros con la ayuda de mi 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 debes calcular tu enojo.",:-(

Patrón de orden: el patrón de comando encapsula la solicitud u operación en un objeto. El patrón de comando separa la responsabilidad de emitir el comando de la responsabilidad de ejecutar el comando y las delega a diferentes objetos. El patrón de comando permite al solicitante y al remitente. Sea independiente. El solicitante no necesita conocer la interfaz del receptor, y mucho menos cómo recibir la solicitud, si realizar la operación, cuándo realizarla y cómo realizarla.

15, Explicador. -Tengo MM. Contiene varias estrategias para salir con chicas, como los pasos para comer comida occidental y cómo ir al cine. Cuando salgas con una chica, sé un traductor y simplemente sigue el guión anterior. > Modo de intérprete: dado un idioma, el modo de intérprete puede definir la representación de su gramática y proporcionar un intérprete que los clientes pueden usar para interpretar oraciones de este idioma. Después de la gramática, se describirá cómo hacerlo. interprete estas declaraciones utilizando el diseño de patrones. El lenguaje mencionado en el patrón de intérprete se refiere a cualquier combinación que pueda ser interpretada por cualquier objeto de intérprete. En el patrón de intérprete, es necesario definir una jerarquía de clases de comando que representen la gramática. 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

16, iteración: me enamoré de Mary y le propuse matrimonio a toda costa. /p>

Mary: "Si quieres que me case contigo, debes aceptar mis condiciones."

Yo: "Estoy de acuerdo con todo, solo dilo".

Mary: "Estoy obsesionada con ese diamante de un quilate."

Yo: "Lo compro, lo compro, ¿qué más quieres?"

María: “Estoy interesada en una villa junto al lago”

Yo: “La compro, la compro, ¿qué más quieres?”

María: "Tu pene debe tener 50 centímetros de largo.

"

Me zumbaba la cabeza. Me senté en la silla y apreté los dientes: "Lo corto, lo corto, ¿hay algo más? "

...

Subpatrón iterativo: el subpatrón iterativo permite el acceso secuencial a elementos en un agregado sin exponer la apariencia interna del agregado. Una colección formada por múltiples objetos se llama agregado , un objeto agregado es un objeto contenedor que puede contener un grupo de objetos. El subpatrón iterativo encapsula la lógica de iteración en un subobjeto independiente, que está separado del propio agregado. El subpatrón iterativo simplifica la interfaz de cada objeto agregado. o más subobjetos de iteración, y el estado de iteración de cada iteración puede ser independiente entre sí

17, mediador: cuatro mm jugando mahjong, no sé cuánto dinero se debe dar. a quién. Afortunadamente, yo estaba allí en ese momento y conté el dinero según sus fichas. Los que ganaron dinero me lo quitaron y compensaron a los que perdieron dinero. Todo estuvo bien. El modo encapsula la forma en que un conjunto de objetos interactúan para que no tengan que interactuar explícitamente entre sí, de modo que puedan acoplarse libremente cuando las interacciones entre algunos objetos cambian. Afecta inmediatamente las interacciones entre otros objetos. independientemente uno del otro. El modelo mediador abstrae el comportamiento y la colaboración de los objetos y los maneja individualmente. Interacción entre objetos y otros objetos.

18. para recordar claramente lo que les acabas de decir a las chicas; de lo contrario, las chicas no estarán contentas cuando se enteren. Afortunadamente, tengo una nota. Copié lo que le acabo de decir a la chica y lo guardé en la nota para poder hacerlo. comprobar los registros anteriores en cualquier momento.

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

19. Simplemente únase al grupo de buzones de información MM de la empresa. Tom es responsable de recopilar información y publicarla en el grupo de correo. No es necesario que nos notifique uno por uno, para que nosotros, como suscriptores (observadores), podamos recibir información a tiempo. /p>

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

20. Estado: al interactuar con MM, asegúrese de prestar atención a su estado. El comportamiento será diferente en diferentes estados. Por ejemplo, si la invita 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 te gusta dirá "Está bien, pero". ", la chica que ya se ha enamorado de ti dirá "¿Cuándo? ¿Qué tal si vamos al bar después de la película? "Por supuesto, si haces un buen trabajo mientras miras la película, también puedes cambiar el estado de MM de No me gusta a Me gusta.

Modo de estado: el modo de estado permite que un objeto cambie su estado interno cuando cambios de estado. El objeto parece haber cambiado de clase. El propósito del patrón de estado es envolver el comportamiento del objeto en estudio en diferentes objetos de estado, cada uno de los cuales pertenece a una subclase de la clase de estado abstracto. El estado interno del objeto cambia, el comportamiento del objeto cambia. El patrón de estado requiere la creación de una subclase de la clase de estado para cada estado posible del sistema.

21 Salir con diferentes tipos de chicas requiere algunas estrategias. van al cine, algunos van a la playa para tener un romance y el único propósito es complacer a mi chica. Hay muchas estrategias en él.

Patrón de política: El patrón de política es para un conjunto de algoritmos. El algoritmo se encapsula en una clase independiente con la misma interfaz, lo que los hace intercambiables. El modelo de estrategia permite cambiar los algoritmos sin afectar al cliente. El modelo de estrategia separa el comportamiento del entorno. , y la clase de estrategia específica proporciona los distintos 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 artículo clásico "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 penetraciones. 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: el patrón de método de plantilla prepara una clase abstracta, implementa cierta lógica en forma de métodos concretos y constructores concretos, y luego declara algunos métodos abstractos para forzar subclases. para 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. VISITANTE—Ya llegó el día de San Valentín. Quiero enviarle 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 ser. basado en ella. características personales para elegir. ¿Cómo puedo averiguarlo por mí mismo? Será mejor que le pida al florista y al dueño de la tienda de regalos que me visiten, para que el florista pueda elegir un ramo de flores según las características de MM, y el dueño de la tienda de regalos también pueda elegir una tarjeta según las características de cada persona, lo cual será mucho más 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 tanta lógica de exploración de objetos como sea posible 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.

ipt type="text/javascript" src="/style/tongji.js">