这份资料将2023年Java面试里边的重要问题做了整合, 着重探讨了面向对象编程的五大基本原则, 以及程序设计原则跟设计模式, 面向对象的五原则包含单一职责原则、开放封闭原则、依赖倒置原则、接口隔离原则与合成复用原则, 设计模式被视作确保软件系统稳定、可扩展以及可维护的关键, 包含了七大原则, 文中借助实例剖析了工厂方法模式的三种形式, 探究了它们怎样遵循或者违反开闭原则, 也就是对扩展开放、对修改关闭。
Java面试题常常包含各种广泛的知识点, 然而这篇资料着重凸显了面向对象设计的关键核心概念。首先, 面向对象存在五大基本原则, 其一为单一职责原则, 即一个类应当仅有一个致使它发生变化的缘由, 这表明一个类仅仅负责一项业务逻辑, 防止职责过多致使复杂度上升。其二是开放封闭原则, 软件实体诸如类、模块、函数等应当对于扩展保持开放, 对于修改保持关闭, 这意味着在增加新功能之际, 不应该对已有的代码进行修改。
**依赖倒置原则**: 高层的模块, 不应当去依赖低层模块, 这两者都应当依赖它们的抽象;抽象是不可以依赖细节的, 细节反而应当依赖抽象。如此一来能够降低耦合度。

**接口隔离原则**: 客户端不应当依赖它所不需要的接口, 也就是说接口应当尽可能的小, 且要专注, 目的在于削减不必要的接口暴露。5. **合成复用原则**: 优先采用对象组合或者聚合, 而并非继承, 以此来达成复用的目的, 进而减少类之间的耦合。于软件设计里, 设计模式是用来解决常见问题的模板, 资料当中提及了设计模式的七大原则, 此七大原则跟面向对象的五原则有着紧密关联, 并且还涵盖这些内容: - **里氏替换原则**: 子类型得要能够替换它们自己的基类型, 否则就会影响程序的正确性。- **迪米特法则**(Law of): 一个对象应当对其他对象拥有最少的了解, 以此来降低类之间的交互复杂度。- **合成复用原则**: 该原则与面向对象的五原则里的同名原则相类似, 着重强调要减少继承所带来的复杂性以及风险。
在资料那里, 还针对工厂方法模式的三种实现做了详细的介绍, 其一, 是简单工厂模式, 存在着一个情况, 就是凭借某一静态方法去创建特定的产品对象, 然而这种状况也许会致使出现紧密耦合的现象, 并且还会违反开闭原则;其二, 为工厂方法模式, 有着这样一个界定, 即去设置一个用于创建对象的接口, 使得子类能够决定该实例化哪一个类, 进而将该实例化这个动作延缓到子类去进行。这种模式是遵循开闭原则的;其三, 是抽象工厂模式, 这里提供了一种情形, 就是给出一个用来创建一系列彼此相关或者相互依赖对象的接口,并且不需要去明确指定它们的具体类。这种模式在处理多个产品族的时候是特别具备效用的。
对于Java开发者而言, 理解这些原则和模式且能够熟练应用它们是极其重要的, 因为它们不但有助于编写出高质量的代码, 而且还是面试里常见的考察要点。在准备面试之际, 除了要熟悉这些理论之外, 还需要结合实际案例展开深入理解以及实践。


被折叠的 条评论
为什么被折叠?



