概念
为系统中的一组接口提过一个一致的界面,此模式定义一个高层接口,这个接口使得这一子系统更加容易使用.
举个栗子
不懂股票的人,将钱交给理财基金,让他们负责购买股票,并抽取一定的佣金,而对于人来说,理财基金就是更高层的接口,负责一致的买和卖.
来看看UML图
![](https://img.haomeiwen.com/i8573047/490aa3321392f4a5.jpg)
//股票
public class Stock1 {
public void buy() {
System.out.println("Buy Stock1");
}
public void sell() {
System.out.println("Sell Stock1");
}
}
//国债
public class Stock2 {
...
}
//债券
public class Stock3 {
...
}
定义理财基金,高层接口
public class Facade {
Stock1 stock1;
Stock2 stock2;
Stock3 stock3;
public Facade(){
stock1 = new Stock1();
stock2 = new Stock2();
stock3 = new Stock3();
}
public void buy(){
stock1.buy();
stock2.buy();
stock3.buy();
}
public void sell(){
stock1.sell();
stock2.sell();
stock3.sell();
}
}
使用
Facade facade = new Facade();
facade.buy();
facade.sell()
Android中的外观模式
外观模式在Android中也非常常见,使用率非常高,那就是Context
,当我们去获取各式各样的资源文件时,以及对四大组件进行操作,使用一些系统的服务,都可以使用Context
就可以去获取,Context
为我们提供了一键式服务,当然是外观模式了.(源码比较简单,就不分析了)Context
就是外观模式中的高层接口.
结语
有错请指出,谢谢.
学无止境.
网友评论