【3】北森云计算面试题整理——设计模式

[1]. 介绍一下工厂模式

工厂模式是一种创建型设计模式。

通过定义一个创建对象的接口,让子类去决定实例化哪一个工厂类,使类的实例化过程延迟到子类进行。

主要有三种类型:简单工厂模式工厂方法模式抽象工厂模式

[2]. 开闭原则的含义是什么

一个软件实体(类、模块、函数等)应当对扩展开放,对修改关闭。即在不修改已有代码的情况下,通过扩展来实现新的功能或变化。

[3]. 责任链模式适用于什么场景

适用于需要动态组合处理器按照特定顺序处理请求或消息的场景。比如日志系统身份验证系统请求处理系统消息过滤系统等。

[4]. 设计一个存在多种计算模型的业务场景会用到哪些设计模式,作用是什么

策略模式:用于定义多种算法,将每种算法封装起来,使它们可以互换。允许系统根据需求动态选择算法,提高灵活性和可扩展性。

状态模式:用于管理对象的状态转换,允许对象在其内部状态改变时改变其行为。有助于简化复杂的条件判断,使代码更加清晰和可维护。

[5]. 单例模式如何保证只有一个实例被创建

  • 懒汉式(Lazy Initialization),在第一次使用时创建实例。
  • 饿汉式(Eager Initialization),在类加载时就创建实例。
  • 双重检查锁定(Double-Checked Locking),在实例为空时加锁检查并创建实例。
  • 静态内部类(Static Inner Class),利用Java的类加载机制保证实例唯一性。
  • 枚举单例(Enum Singleton),通过枚举类型实现。

[6]. 手撕:单例模式

饿汉式

public class Singleton {
    private static final Singleton instance = new Singleton();
    private Singleton() {}
    public static Singleton getInstance() {
        return instance;
    }
}

懒汉式

public class Singleton {
    private static Singleton instance;
    private Singleton() {}
    public static synchronized Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值