java设计模式面试题
时间: 2023-11-06 12:57:28 浏览: 44
1. 什么是设计模式?
设计模式是一种用于解决特定问题的可复用方案,它是经过多次实践验证的,可以提高程序的可维护性、可读性和可扩展性。
2. 你知道哪些常见的设计模式?
常见的设计模式包括单例模式、工厂模式、观察者模式、策略模式、模板方法模式、装饰器模式、适配器模式、命令模式、代理模式、责任链模式等。
3. 什么是单例模式?
单例模式是一种创建型设计模式,它保证一个类只有一个实例,并提供了一个全局访问点。单例模式常用于控制资源的共享或限制对象的创建。
4. 什么是工厂模式?
工厂模式是一种创建型设计模式,它提供一个创建对象的接口,但是让子类决定实例化哪个类。工厂模式主要解决的问题是当需要创建多个相似对象时,避免重复的代码。
5. 什么是观察者模式?
观察者模式是一种行为型设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会收到通知并自动更新。
6. 什么是策略模式?
策略模式是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户端。
7. 什么是模板方法模式?
模板方法模式是一种行为型设计模式,它定义了一个操作中的算法框架,将一些步骤延迟到子类中实现。模板方法模式让子类可以改变算法的某些步骤,而不改变算法的结构。
8. 什么是装饰器模式?
装饰器模式是一种结构型设计模式,它允许在不改变对象接口的情况下,动态地给对象添加功能。装饰器模式通过包装一个对象,来扩展它的功能。
9. 什么是适配器模式?
适配器模式是一种结构型设计模式,它将一个类的接口转换成客户端所期望的另一个接口。适配器模式让原本不兼容的接口可以协同工作。
10. 什么是命令模式?
命令模式是一种行为型设计模式,它将请求封装成一个对象,从而使不同的请求可以被抽象成不同的对象。命令模式让请求发送者和请求接收者解耦。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)