设计模式9-外观模式

定义

外观模式,用于降低访问系统的内部子系统时的复杂度,简化客户端与之的接口。

实现

1
2
3
public interface Runner{
void run();
}
1
2
3
4
5
6
public class LiuXiang implements Runner{
@Override
public void run(){
//run
}
}
1
2
3
4
5
6
public class Bolt implements Runner{
@Override
public void run(){
//run
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class RunnerMaker{
private Runner liuxiang;
private Runner bolt;

public RunnerMaker(){
liuxiang = new LiuXiang();
bolt = new Bolt();
}

public void liuxiangRun(){
liuxiang.run();
}

public void boltRun(){
bolt.run();
}
}

这种结构型很明显耦合比较严重,作为一个工具类还是比较好的,改动不大的话。

优点

1、减少系统相互依赖
2、提高灵活性
3、提高了安全性

缺点

不符合开闭原则,如果要改写很麻烦,无论是继承或者重写都不合适。