1コードのチュートリアル
1.1コードチュートリアル1
1コードのチュートリアル
1.1コードチュートリアル1
要件:
それぞれの人の後に牛コースバックQQのディスカッショングループのLi Xは、メッセージを送信するために、他の人が見ることができます
注:(個人的な開発が行わ気付きませんでした)
メッセージ(例えば、敏感な検証情報、等)に関する処理、中間に配置することができ、ユーザの必要性がカプセル化されていません。
BのQQグループチャットルームと、このプロセスは通常仲介者(複数のこのような用途)、関係はより複雑です。
それだけでCクラス間のスプレッドは、ユーザークラスを参照してください。
uml类图:
テストカテゴリ:
パッケージcom.geely.design.pattern.behavioral.mediator。 / ** *吉利によって作成 * / パブリック クラスのテスト{ 公共 静的 ボイドメイン(文字列[]引数){ 吉利ユーザー = 新しいユーザー(「吉利」)。 ユーザートム = 新しいユーザー(「トム」); geely.sendMessage(「ねえトムレッツ学ぶデザインパターン!!」); tom.sendMessage( "OK吉利!" ); } }
QQグループメッセージングクラス:
パッケージcom.geely.design.pattern.behavioral.mediator; インポートjava.util.Date; / ** *吉利によって作成 * / パブリック クラスstudygroup {
/ **
*コアの方法、メッセージを仲介することにより、ユーザに送信されます発行された
* / パブリック 静的 ボイドshowMessage(ユーザーユーザー、文字メッセージ){ System.out.printlnは(新しい新しい A日()のtoString()+ "[" user.getName +()+ "] :." + メッセージ); } }
ユーザーカテゴリ:
パッケージcom.geely.design.pattern.behavioral.mediator。 / ** *吉利によって作成 * / パブリック クラスユーザー{ プライベート文字列名; パブリック文字列のgetName(){ 戻り名。 } 公共 ボイドのsetName(文字列名){ この .nameの= 名前。 } パブリックユーザ(文字列名){ この .nameの= 名前。 } / ** *把自己传过去 * /
公共 ボイドのsendMessage(文字メッセージ){ StudyGroup.showMessage(このメッセージ)。 } }
ログを出力します:
火曜Marの 03午前5時51分45秒CST 2020 [吉利]:ねえ!トム!レッツは、デザインパターンを学ぶ OK:火3月3日午前5時51分45秒CST 2020 [トム]を!吉利 プロセスは終了コードで終了 0