设计模式面试
2026/3/5大约 5 分钟
设计模式面试
综述
【简单】什么是设计模式?
设计模式是软件工程中针对常见问题的可复用解决方案,是前人总结的最佳实践模板。它不是现成的代码,而是一种设计思想,指导你如何组织类和对象以解决特定场景下的问题。
【简单】有哪些经典的设计模式?
经典设计模式通常指 GoF(Gang of Four)《设计模式》一书中总结的 23 种模式,分为三大类:
- 创建型模式:创建型模式提供了创建对象的机制, 能够提升已有代码的灵活性和可复用性。——对象如何创建
- 简单工厂模式 (Simple Factory)
- 工厂方法模式 (Factory Method):子类决定创建哪个对象
- 抽象工厂模式 (Abstract Factory):创建相关或依赖的产品族
- 建造者模式 (Builder):分步构建复杂对象
- 原型模式 (Prototype):克隆生成对象
- 单例模式 (Singleton):全局唯一实例
- 结构型模式:结构型模式介绍如何将对象和类组装成较大的结构, 并同时保持结构的灵活和高效。——对象如何组合
- 适配器模式 (Adapter):接口转换,兼容不匹配类
- 桥接模式 (Bridge):抽象与实现分离,独立变化
- 组合模式 (Composite):树形结构表示整体-部分
- 装饰模式 (Decorator):动态添加职责
- 外观模式 (Facade):为子系统提供统一接口
- 享元模式 (Flyweight):共享细粒度对象,节省内存
- 代理模式 (Proxy):控制对象访问
- 行为型模式:行为模式负责对象间的高效沟通和职责委派。——对象如何协作
- 模板方法模式 (Template Method):算法骨架,子类实现步骤
- 命令模式 (Command):请求封装为对象,支持操作队列
- 迭代器模式 (Iterator):顺序访问聚合元素
- 观察者模式 (Observer):一对多通知依赖者
- 解释器模式 (Interpreter):定义并解释文法
- 中介者模式 (Mediator):封装对象间交互,降低耦合
- 职责链模式 (Chain of Responsibility):请求沿链传递,多处理器
- 备忘录模式 (Memento):保存和恢复对象状态
- 策略模式 (Strategy):算法可替换
- 访问者模式 (Visitor):在不改变元素类前提下增加新操作
- 状态模式 (State):状态改变行为
【简单】什么是面向对象五大原则(SOLID)?
- 单一职责:一个类只做一件事
- 开闭原则:扩展开放,修改关闭
- 里氏替换:子类可替换父类
- 接口隔离:接口最小化,不依赖无用方法
- 依赖倒置:依赖抽象,不依赖实现