设计模式-外观模式
1.概述
外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
2.类图
3.角色
- palyGameFacade接口:外观接口,提供一个打游戏的场景,提供给使用者(Client)的一个统一的接口。
- computer接口:代表电脑。
- Game接口:代表游戏。
其他类为上述接口的具体实现类。
4.实现
1.computer接口和其实现类
public interface computer {
void open();
void close();
}
public class MyComputer implements computer{
public void open() {
System.out.println("打开电脑");
}
public void close() {
System.out.println("关闭电脑");
}
}
2.Game接口和其实现类
public interface Game {
void open();
void close();
}
public class MyGame implements Game{
public void open() {
System.out.println("打开游戏");
}
public void close() {
System.out.println("关闭游戏");
}
}
3.palyGameFacade和其实现类
public interface palyGameFacade {
void Do();
void unDo();
}
public class myPalyGameFacade implements palyGameFacade{
Game game;
computer computer;
public myPalyGameFacade(Game game, computer computer) {
this.game = game;
this.computer = computer;
}
public void Do() {
computer.open();
game.open();
}
public void unDo() {
game.close();
computer.close();
}
}
4.Main
public class Main {
public static void main(String[] args) {
computer computer = new MyComputer();
Game game = new MyGame();
palyGameFacade palyGameFacade = new myPalyGameFacade(game,computer);
palyGameFacade.Do();
palyGameFacade.unDo();
}
}
结果: