前言
疫情过去,真正的春暖花开又回来了,时不时的可以和朋友约个饭,感慨今年的工作竞争压力很大,工作很不好找。作为一个开发人员,你是否面上了理想的公司,拿到了理想中的薪资?
作为程序员,跳槽就是最好的涨薪方式。前提当然是你有足够实力,而不是只会纸上谈兵。面试准备不充分,就是浪费时间,更是对自己不负责任。
今天给大家分享一份由粉丝投稿,我精心整理出来的一份 1200 页 Java 架构面试专题(文末见面试答案),绝大部分都是一线大厂的面试真题,可以根据这份面试专题查漏补缺,希望能够帮助你尽快找到工作!
package designMode.facade2;
public class Client {
public static void main(String[] args) {
Facade facade = new Facade();
facade.methodA();
facade.methodB();
}
复制代码
}
4、运行结果:
![up-68f9b51d1062617adffd7600cc30eaf2d24.png](https://static001.geekbang.org/infoq/82/828be8279d392b2cca0c0858d84ce35b.png)
**二、外观模式的应用**
1、应用场景
(1)客户端不需要知道内部的复杂联系,整个系统只提供一个“接待员”即可
(2)定义系统的入口
2、方法
客户端不与系统耦合,外观类与系统耦合
3、优点
(1)减少了系统的相互依赖
(2)提高了灵活性,不管系统内部如何变化,只要不影响到外观对象,任你自由活动
(3)提高了安全性,想让你访问什么你就只能访问什么
4、缺点
修改麻烦
5、使用场景
(1)为一个复杂的模块或子系统提供一个外界访问的接口
(2)子系统相对独立,外界对子系统的访问只要黑箱操作即可
(3)预防低水平人员带来的风险扩散
6、应用实例
基金(用户只和基金打交道,实际操作为基金经理人与股票和其它投资品打交道)
**三、外观模式的实现**
我们就以开篇说的基金为例,来编写一下代码,熟悉外观模式的使用。UML图如下:
![1018770-20180516222046525-864875223.png](https://static001.geekbang.org/infoq/97/976961bbfe397fd99217c939bbbd9396.png)
1、基金类(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();
}
复制代码
}
2、股票、国债、房地产类
这里放一个股票作为示例,其余债券类似。内部由买入和卖出两种操作。
复制代码
public class Stock1 {
//买股票
public void buy() {
System.out.println("股票1买入");
}
//卖股票
public void sell() {
System.out.println("股票1卖出");
}
复制代码
}
3、client客户端
用户通过该类对基金进行购买和赎回操作。
复制代码
package designMode.facade2;
public class Client {
public static void main(String[] args) {
Fund fund = new Fund();
//基金购买
fund.buyFund();
复制代码
Kafka 进阶篇知识点
Kafka 高级篇知识点
44 个 Kafka 知识点(基础+进阶+高级)解析如下
由于篇幅有限,小编已将上面介绍的**《Kafka 源码解析与实战》、Kafka 面试专题解析、复习学习必备 44 个 Kafka 知识点(基础+进阶+高级)都整理成册,全部都是 PDF 文档**,有需求的朋友可以戳这里免费下载
评论