デザインパターン--Facadeモード、モードのファサード


パブリックインターフェースBasFunc {
     公共ボイド起動(文字列メッセージ)
     公共のボイドシャットダウン(文字列のメッセージ)。
}


パブリッククラスBasFunImp実装BasFunc {
     プライベート文字列startInfo。
     プライベート文字列shutdownInfo。
     @Override
     公共ボイド起動(文字メッセージ){
         // TODO自動生成方法スタブ
         startInfo =メッセージ。
         System.out.println(startInfo)。
     }

    @Override
     公共ボイドシャットダウン(文字列メッセージ){
         // TODO自動生成方法スタブ
         shutdownInfo =メッセージ。
         System.out.println(shutdownInfo)。
     }
    
}


CPUクラスを実装BasFunc {公共
     //より多くのビジネスニーズを追加する場合は、ソースまたは粒状達成するための措置
     プライベートBasFuncコアを、
     公共のCPU(){
         this.core新しい新BasFunImp =();
     }
     @Override
     ます。public voidスタートアップ(メッセージの文字列) {
         // TODO自動生成されたメソッドスタブ
         core.startup(メッセージ);
     }

    @Override
     公共ボイドシャットダウン(文字列メッセージ){
         // TODO自動生成方法スタブ
         core.shutdown(メッセージ)。
     }
}

//


ディスククラスを実装BasFunc {公共
     //ソースまたは粒状達成するための措置場合はより多くのビジネスニーズを追加する
     プライベートBasFuncコアを、
     公共のディスク(){
         this.core新しい新BasFunImp =();
     }
     @Override
     ます。public voidスタートアップ(メッセージの文字列) {
         // TODO自動生成されたメソッドスタブ
         core.startup(メッセージ);
     }

    @Override
     公共ボイドシャットダウン(文字列メッセージ){
         // TODO自動生成方法スタブ
         core.shutdown(メッセージ)。
     }
}

//

メモリクラスを実装BasFunc {公共
     //より多くのビジネスニーズを追加する場合は、ソースまたは粒状達成するための措置
     プライベートBasFuncコアを、
     公共のメモリ(){
         this.core新しい新BasFunImp =();
     }
     @Override
     ます。public voidスタートアップ(メッセージの文字列) {
         // TODO自動生成されたメソッドスタブ
         core.startup(メッセージ);
     }

    @Override
     公共ボイドシャットダウン(文字列メッセージ){
         // TODO自動生成方法スタブ
         core.shutdown(メッセージ)。
     }
}


コンピュータクラス{公共
     //クライアントにシステムの複雑さを隠し、インターフェイスがシステムにアクセスすることができます提供します。デザインパターンのこのタイプは、構造的なモードです。
     CPU CPUプライベート;
     プライベートメモリメモリ;
     Private Diskのディスク;
    
     //は、システムの複雑さ隠す
     公共コンピューター(){
         ; this.cpu CPU新新=()
         this.memory =新しい新しいメモリを();
         this.disk =新しい新しいディスク( );
     }
    
     公共のコンピュータ(CPU CPU、メモリ、メモリ、ディスクディスク){
         スーパー();
         this.cpu = CPU;
         this.memory =メモリー;
         this.disk =ディスク;
     }
     公共ボイド起動(){
         cpu.startup( " CPUを起動");
         memory.startup("メモリスタートアップ「);
         disk.startup( "ディスク起動");
     }
    
     公共ボイドシャットダウン(){
         cpu.startup( "CPUシャットダウン")。
         (「メモリがシャットダウン」)memory.startup。
         disk.startup( "ディスクのシャットダウン");
     }
    
}

//

パブリッククラスデモ{
     パブリック静的無効メイン(文字列[] args){
         コンピュータコンピューター=新しいコンピュータ()。
         computer.startUp();
         computer.shutdown();
     }
}

おすすめ

転載: www.cnblogs.com/macro-renzhansheng/p/12568964.html