簡潔24-2仲介モデルはコーディングカリキュラムデザインパターンデザインパターン

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

 

 

 

 

おすすめ

転載: www.cnblogs.com/1446358788-qq/p/12400078.html