このモデルは比較的単純です。ちょっと書いてください。
いつものように、ファサードパターンの定義を見てみましょう。サブシステム内のインターフェースのグループにアクセスするための統一インターフェースを提供します。外観は、サブシステムを使いやすくするための高レベルのインターフェースを定義します。実際、顧客の便宜のために、操作のグループはメソッドにカプセル化されています。
たとえば、私は映画を見るのが好きなので、プロジェクター、コンピューター、ステレオを購入し、部屋の照明を設計し、ポップコーンマシンを購入しました。次に、映画を見たいときは、次のものが必要です。
1.ポップコーンマシンの電源を入れます
2.ポップコーンを作る
3.照明を暗くする
4.プロジェクターの電源を入れます
5.プロジェクターの投影領域を下に置く
6.コンピュータの電源を入れます
7.プレーヤーを開く
8.プレーヤーのトーンをサラウンドサウンドに設定します
…
仁摩、多額のお金を費やして映画を見るのはとても大変でしたし、疲れすぎて、見てから一つずつ消さなければなりませんでした。
すべて、私たちは外観モードを使用してこれらの複雑なステップを解決し、簡単に映画を楽しみます:
package com.zhy.pattern.facade;
public class HomeTheaterFacade
{
private Computer computer;
private Player player;
private Light light;
private Projector projector;
private PopcornPopper popper;
public HomeTheaterFacade(Computer computer, Player player, Light light, Projector projector, PopcornPopper popper)
{
this.computer = computer;
this.player = player;
this.light = light;
this.projector = projector;
this.popper = popper;
}
public void watchMovie()
{
/**
* 1、打开爆米花机
2、制作爆米花
3、将灯光调暗
4、打开投影仪
5、放下投影仪投影区
6、打开电脑
7、打开播放器
8、将播放器音调设为环绕立体声
*/
popper.on();
popper.makePopcorn();
light.down();
projector.on();
projector.open();
computer.on();
player.on();
player.make3DListener();
}
public void stopMovie()
{
popper.off();
popper.stopMakePopcorn();
light.up();
projector.close();
projector.off();
player.off();
computer.off();
}
}
ご覧のとおり、クラスを定義したので、ワンクリックで映画を鑑賞できます。鑑賞後、ワンクリックで閉じて、もっと楽しめます。
外観モード:通常、大きなインターフェースまたは複雑なインターフェースのグループを簡略化する必要がある場合に使用されます。
このモードは比較的理解しやすいので、これ以上は説明せず、最後にクラス図を添付します。
おめでとうございます。もう1つのデザインパターン、ファサードパターンを学習しました。