最后
看完上述知识点如果你深感Java基础不够扎实,或者刷题刷的不够、知识不全面
小编专门为你量身定制了一套<Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+SSM框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法>
针对知识面不够,也莫慌!还有一整套的<Java核心进阶手册>,可以瞬间查漏补缺
全都是一丢一丢的收集整理纯手打出来的
更有纯手绘的各大知识体系大纲,可供梳理:Java筑基、MySQL、Redis、并发编程、Spring、分布式高性能架构知识、微服务架构知识、开源框架知识点等等的xmind手绘图~
一个汽车厂:
public class CarFactory extends Factory{
@Override
public void produce() {
System.out.println(“生产汽车”);
}
@Override
public void sell() {
System.out.println(“销售汽车”);
}
}
测试:
Factory factory = new CarFactory();
factory.operation();
输出的是汽车厂的生产和销售活动。
但是现在问题来了,以这样的架构设计,如果有一天行业和市场发生变化,要开设一家制造手机的手机工厂,那以前创建和运转良好的船厂、汽车厂已有的资源均不能使用。工厂要转型生产手机,则需要重新布置手机生产的产线。换言之,以前那套架构转型成本太高,缺乏资源的复用,这是痛点。有没有一种连接(桥接、桥梁)办法,实现高内聚,低耦合工厂和产品?
现在开始改进。
先把工厂生产和销售的对象抽象成Product模型:
public abstract class Product {
/**
- 产品生产
*/
public abstract void produce();
/**
- 产品销售
*/
public abstract void sell();
}
抽象工厂,传入一个什么样的产品就生产和销售该产品:
public abstract class Factory {
private Product product;
public Factory(Product product) {
this.product = product;
}
public void setProduct(Product product) {
this.product = product;
}
/**
- 工厂运营。
*/
public void operation() {
product.produce();
product.sell();
}
}
具体的工厂实现:
public class SomeFactory extends Factory{
public SomeFactory(Product product) {
super(product);
}
}
那么原先的船和汽车作为产品的角色,分别抽象定义:
public class Boat extends Product {
@Override
public void produce() {
System.out.println(“生产船”);
}
@Override
public void sell() {
System.out.println(“销售船”);
}
}
public class Car extends Product{
@Override
public void produce() {
System.out.println(“生产汽车”);
}
@Override
public void sell() {
System.out.println(“销售汽车”);
}
}
测试:
Car car=new Car();
Factory factory=new SomeFactory(car);
factory.operation();
Boat boat=new Boat();
factory.setProduct(boat);
factory.operation();
输出:
生产汽车
销售汽车
生产船
销售船
如果市场行情发生变化,现在需要转型生产手机,那么只需要增加一款产品Phone即可,原有的工厂产线都得到复用:
public class Phone extends Product{
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
上述的面试题答案都整理成文档笔记。 也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上述的面试题答案都整理成文档笔记。 也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)
[外链图片转存中…(img-Ch9klNlB-1714920331940)]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。