在java的面试中,工厂模式也是经常被问到的一个问题,所以多看些工厂模式的面试题也是必须的,下面就来了解下。
一、什么是工厂模式?
-它是Java中最常用的设计模式。
-这些设计模式属于创建模式, 因为该模式提供了创建对象的最佳方法之一。
-在Factory模式中, 我们不向客户端公开创建逻辑, 而不会使用标准接口引用创建的对象。
-工厂模式允许子类选择要创建的对象的类型。
-工厂模式也称为虚拟构造函数。
二、什么是抽象工厂模式?
抽象工厂模式状态定义了用于创建相关对象族的抽象类或接口, 但未指定其具体子类。这意味着Abstract Factory允许类返回类的工厂。这就是为什么抽象工厂模式比工厂模式高一级的原因。
-抽象工厂模式围绕超类工作, 超类创建其他类。
-抽象工厂模式属于创建模式, 因为该模式提供了创建对象的最佳方法之一。
-在”抽象工厂”模式中, 接口可用于创建相关对象的工厂, 而无需显式标识其类。
-每个生成的工厂都可以根据Factory模式提供对象。
三、能解释下Java中的结构模式吗?
结构模式用于提供有关类组成和对象结构的解决方案和有效标准。它们依赖于继承和接口的概念, 以允许多个对象或类一起工作并形成单个工作整体。
结构设计模式负责如何组合类和对象以形成较大的结构。
四、JDK库中使用了哪些设计模式?
JDK库中使用的一些设计模式如下。
-包装器类使用装饰器模式。
-Calendar类(运行时)使用Singleton模式。
-包装器类使用工厂模式, 例如Integer.valueOf。
-事件处理框架使用观察者模式, 例如swing, awt。
五、提到Java中的Builder设计模式的优势?
构建器设计模式的优点如下。
-它有助于在对象的构造和表示之间明确区分。
-它提供了对施工过程的改进控制。
-构造函数参数减少了, 并在高度可读的方法调用中提供。
-在设计模式中, 对象始终以完整状态实例化。
-在Builder设计模式中, 可以在对象构建过程中快速构建不可变对象。
六、可以用Java编写线程安全的Singleton吗?
有很多方法可以用Java编写线程安全的单例。
-可以通过使用双重检查的锁定编写单例来编写线程安全的单例。
-另一种方法是, 使用在类加载期间初始化的静态Singleton实例。
-通过使用java枚举创建线程安全的单例, 这是最直接的方法。
七、是否可以创建单例对象的克隆?
是的, 可以创建单例对象的克隆。
八、什么是代理模式, 它有什么作用?
术语代理代表代表另一个对象的对象。代理模式为另一个目的提供了替代或占位符, 以控制对其的访问。
根据四个人的帮派, 代理模式”为访问原始对象提供了控制”。
我们可以执行许多安全操作, 例如隐藏原始对象的信息, 按需加载等。
也称为占位符或替代。
九、什么是适配器模式?
适配器模式根据需要将类的接口转换为另一个接口。
换句话说, 它使你可以根据需要转换接口, 同时将类服务与其他接口一起使用。
它也被称为包装器。
十、说明适配器模式的用法?
在以下情况下使用它:
-当对象需要利用具有不兼容接口的现有类时。
-如果我们想创建一个可重用的类, 该类与不具有兼容接口的类协作。
十一、讨论描述设计模式的策略?
描述设计模式时应注意以下几点。
-模式名称和分类。
-问题与解决方案。
-后果:变体和与语言有关的替代方法也应解决。
-用途:确定实际系统中的用途及其效率。
以上就是本篇文章的所有内容,如果有对面试还有所疑惑,想了解更多面试相关内容的小伙伴,那就来看看本站的java面试宝典吧。
推荐阅读: