外观模式之Context

概念

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

举个栗子

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

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

结语

有错请指出,谢谢.

学无止境.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容