この記事では、Javaのコマンドモードに基づいた郵便局の送信機能の実装について説明します。次のように、参照のために共有してください。
1。パターン定義
コマンドモードは、リクエストのアクティブ化のアクションやリクエストの受け入れに関する詳細の処理を理解することなく、クライアントからの要求をオブジェクトとして確信します。コマンドモードの基本的な目的は、「要求者」と「実装者」との間を切り離すことです。
2。モデルの例
1パターン分析
このパターンを説明するために郵便局の手紙を借りました。
2コマンドモード静的クラス図
3つのコードの例
3.1レターレシーバーインターフェイスエリアバー
パッケージcom.demo.receiver;/** *レターレシーバーインターフェイス * * @author * * */public interface ireceiver {/** *受信者は読み取り * * @paramメッセージ */public void readmail(string message);}3.2レターレシーバー
パッケージcom.demo.receiver;/** *レター受信者 * * @author * * */public class Receiver ireceiver {/** *受信者は読み取り * * @param message */public void readmail(string message){system.out.println( "受信者が手紙を読む:" +メッセージ); }}3.3郵便局インターフェイス-IPOST
パッケージcom.demo.command;/** *郵便局インターフェイス * * @author * * */public interface ipost {/** *郵便局は文字を送信 * * @paramメッセージ */public void sendmail(string message);}3.4郵便局の実装
パッケージcom.demo.command; import com.demo.receiver.ireceiver;/** *郵便局の実装クラス * * @author * * */public class post ipost {//受信オブジェクトインスタンスプライベート最終的なアイレイバーレシーバー。 / ** *受信者オブジェクトに送信するコンストラクターメソッド * * @Param Receiver */ public Post(IRECEIVER RECEIVER){this.Receiver = Receiver; } / ** *郵便局は手紙を送信します * * @paramメッセージ * / @Override public void sendmail(string message){system.out.println( "郵便局は受信者に手紙を送信します..."); //郵便局は受信者に手紙を送信しますthis.receiver.readmail(message); }}3.5メッセージ送信者 - 招待者
パッケージcom.demo.invoker; Import com.demo.command.ipost;/** * sender * * @author * */public class Invoker {// post office private属性プライベートipost post; / ** *郵便局オブジェクトインスタンスを設定 * * @param post */ public void setpost(ipost post){this.post = post; } / ** *送信者は文字を送信します * * @paramメッセージ * / public void postmail(string message){system.out.println( "送信者は郵便局に手紙を送信します..."); this.post.sendmail(メッセージ); }}3.6郵便局にクライアントの動作を開始させます
パッケージcom.demo; import com.demo.command.ipost; import com.demo.command.post; import com.demo.invoker.invoker; import com.demo.receiver.receiver;/** *クライアントアプリケーション * * @author * */publicクラスクライアント{/** Instance Receiver Receiver = new Receiver(); //郵便局オブジェクトを作成インスタンスipost post = new Post(Receiver); //送信者オブジェクトインスタンスを作成し、郵便局オブジェクトインスタンスに渡します。 Invoker Invoker = new Invoker(); //郵便局のvoker.setpost(post)を設定します。 //送信者はメッセージの送信を開始します! ! ! Invoker.Postmail(「こんにちは!長い時間はありません、最近仕事で忙しいですか?」); }}4ランニング結果
送信者は郵便局に手紙を届けます...
郵便局は受信者に手紙を送ります...
受信者は手紙を読みます:こんにちは!長い間見えません、あなたは最近仕事で忙しいですか?
iii。このパターンの設計原則
1「オープンクローズ」原則
2知識の最小の原則
4。コマンドモード静的クラス図
Java関連のコンテンツについては、このサイトに興味のある読者は、「Javaデータ構造とアルゴリズムのチュートリアル」、「Java操作DOMノードのヒントの概要」、「Javaファイルの要約およびディレクトリ操作のヒント」、「Java Cache操作のヒントの要約」というトピックを見ることができます。
この記事がみんなのJavaプログラミングに役立つことを願っています。