浅谈Facade外观模式,五面拿下阿里飞猪offer

2021年09月15日 阅读数:1
这篇文章主要向大家介绍浅谈Facade外观模式,五面拿下阿里飞猪offer,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

(1)减小了系统的相互依赖git

(2)提升了灵活性,无论系统内部如何变化,只要不影响到外观对象,任你自由活动程序员

(3)提升了安全性,想让你访问什么你就只能访问什么面试

四、缺点安全

修改麻烦markdown

五、使用场景ide

(1)为一个复杂的模块或子系统提供一个外界访问的接口学习

(2)子系统相对独立,外界对子系统的访问只要黑箱操做便可.net

(3)预防低水平人员带来的风险扩散code

六、应用实例视频

基金(用户只和基金打交道,实际操做为基金经理人与股票和其它投资品打交道)

3、外观模式的实现

咱们就以开篇说的基金为例,来编写一下代码,熟悉外观模式的使用。UML图以下:

1018770-20180516222046525-864875223.png

一、基金类(Fund)

基金类,基金经理人经过该类做为中间交互者,能够接受投资者的资金,统一对股票、国债、房地产进行购买和赎回操做。


package designMode.facade2;

public class Fund {

    Stock1 stock1;

    Stock2 stock2;

    Stock3 stock3;

    public Fund() {

        stock1 = new Stock1();

        stock2 = new Stock2();

        stock3 = new Stock3();

    }

    //购买基金

    public void buyFund() {

        stock1.buy();

        stock2.buy();

        stock3.buy();

    }

    //赎回基金

    public void sellFund() {

        stock1.sell();

        stock2.sell();

        stock3.sell();

    }

}

二、股票、国债、房地产类

这里放一个股票做为示例,其他债券相似。内部由买入和卖出两种操做。


public class Stock1 {

    //买股票

    public void buy() {

        System.out.println("股票1买入");

    }

    //卖股票

    public void sell() {

        System.out.println("股票1卖出");

    }

}

三、client客户端

用户经过该类对基金进行购买和赎回操做。


package designMode.facade2;

public class Client {

    public static void main(String[] args) {

        Fund fund = new Fund();

        //基金购买

        fund.buyFund();

        System.out.println("-------------");

        //基金赎回

        fund.sellFund();

    }

} 

四、运行结果:

总结

咱们老是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,若是你再不努力,差距也只会愈来愈大。

面试题多多少少对于你接下来所要作的事确定有点帮助,但我更但愿你能透过面试题去总结本身的不足,以提升本身核心技术竞争力。每一次面试经历都是对你技术的扫盲,面试后的复盘总结效果是极好的!

CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】

浅谈Facade外观模式,五面拿下阿里飞猪offer