Este artículo describe la implementación de la función de envío de la oficina de correos basada en el modo de comando en Java. Compártelo para su referencia, como sigue:
1. Definición de patrones
Modo de comando, pelea la solicitud del cliente como un objeto, sin comprender la acción de la activación de la solicitud o los detalles de procesamiento sobre la aceptación de la solicitud. El propósito fundamental del modo de comando es desacoplar entre el "solicitante" y el "implementador".
2. Ejemplos de modelo
1 análisis de patrones
Tomamos prestadas cartas de correos para ilustrar este patrón.
2 Modo de comando Diagrama de clase estática
3 ejemplos de código
3.1 letras Interfaz de receptor
paquete com.demo.receiver;/** * Interfaz del receptor de letras * * @author * */public interface ireCeiver {/** * El destinatario recibe la carta para leer * * @param mensaje */public void readmail (mensaje de cadena);}Receptor de 3.2 letras
paquete com.demo.receiver;/** * destinatario de la carta * * @author * */public class receptor implementa ireCeiver {/** * destinatario recibió la carta para leer * * @param mensaje */public void readMail (mensaje de cadena) {System.out.println ("El destinatario lee la carta:" + Mensaje); }}3.3 Interfaz de la oficina de correos-ipost
paquete com.demo.command;/** * interfaz de correos de correos * * @author * */public interfaz ipost {/** * La oficina de correos envía cartas * * @param mensaje */public void sendmail (mensaje de cadena);}3.4 Implementación de la oficina postal
paquete com.demo.command; import com.demo.receiver.ireceiver;/** * Clase de implementación de la oficina de correos * * @author * */public class Post implementa IPOST {// Objeto destinatario Instancia de instancia de Ireceiver Private Ireceiver; / ** * Método del constructor para enviar a la instancia del objeto del destinatario * * @param receptor */ public Post (receptor ireiver) {this.Receiver = receptor; } / ** * La oficina de correos envía cartas * * @param mensaje * / @Override public void sendmail (mensaje de cadena) {System.out.println ("La oficina de correos envía la carta al destinatario ..."); // La oficina de correos envía la carta al destinatario this.Receiver.ReadMail (mensaje); }}3.5 remitente de mensajes - invocador
paquete com.demo.invoker; import com.demo.command.ipost;/** * remitente * * @author * */public class Invoker {// Post de la oficina privada Atributo privado IPost Post; / ** * Establecer instancia de objeto de oficina postal * * @param post */ public void setPost (ipost post) {this.post = post; } / ** * El remitente envía una carta * * * @param Mensaje * / public void postmail (mensaje de cadena) {System.out.println ("El remitente envía una carta a la oficina de correos ..."); this.post.sendmail (mensaje); }}3.6 Deje que la oficina de correos comience a trabajar en un cliente
paquete com.demo; import com.demo.command.ipost; import com.demo.command.post; import com.demo.invoker.invoker; import com.demo.receiver.receiver;/** * client * * @author * */public class Client {/** * @param args */public static vhatic (string (string [] @author */public class Client) receptor de instancia de objeto destinatario receptor = nuevo receptor (); // Cree una instancia de objeto de oficina de correos para pasar en la instancia del objeto del destinatario ipost post = new Post (receptor); // Cree una instancia de objeto del remitente y pasela a la instancia de objeto de la oficina de correos. Invoker Invoker = new Invoker (); // Establecer la oficina de correos Invoker.setPost (post); // ¡El remitente comienza a enviar mensajes! ! ! invover.postmail ("¡Hola! ¡Mucho tiempo sin ver, ¿estás ocupado con el trabajo recientemente?"); }}4 Resultados de ejecución
El remitente entrega la carta a la oficina de correos ...
La oficina de correos envía la carta al destinatario ...
El destinatario lee la carta: ¡Hola! Mucho tiempo sin ver, ¿estás ocupado con el trabajo recientemente?
Iii. Los principios de diseño de este patrón
Principio de 1 "cierre abierto"
2 El principio del menor conocimiento
4. Modo de comando Diagrama de clase estática
Para obtener más contenido relacionado con Java, los lectores interesados en este sitio pueden ver los temas: "Estructura de datos de Java y tutorial de algoritmo", "Resumen de las puntas de nodo de operación Java DOM", "Resumen de los archivos Java y consejos de operación de directorio" y "Summary of Java Cache Operation Tips" ".
Espero que este artículo sea útil para la programación Java de todos.