外观模式之Context

2017-10-31  本文已影响0人  wa11e

概念

为系统中的一组接口提过一个一致的界面,此模式定义一个高层接口,这个接口使得这一子系统更加容易使用.

举个栗子

不懂股票的人,将钱交给理财基金,让他们负责购买股票,并抽取一定的佣金,而对于人来说,理财基金就是更高层的接口,负责一致的买和卖.

来看看UML图

//股票
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就是外观模式中的高层接口.

结语

有错请指出,谢谢.

学无止境.

上一篇下一篇

猜你喜欢

热点阅读