创建型模式
单例模式
确保一个类只有一个实例,并提供全局访问点。
实现方式:懒汉式、饿汉式、双重校验锁等。
使用场景:配置管理器、线程池等。
工厂模式
通过工厂类创建对象,隐藏对象的创建细节。
简单工厂模式、工厂方法模式、抽象工厂模式的区别。
使用场景:创建多种类型的对象,但不想暴露创建逻辑。
结构型模式
适配器模式
将不兼容的接口转换为兼容的接口。
类适配器和对象适配器的区别。
使用场景:整合第三方库或遗留代码。
代理模式
通过代理类控制对真实对象的访问。
静态代理和动态代理的区别。
使用场景:权限控制、远程调用、缓存等。
行为型模式
策略模式
定义一系列算法,并在运行时动态选择算法。
策略模式的结构:策略接口、具体策略类、上下文类。
使用场景:算法选择、行为切换。
观察者模式
对象间的一对多依赖关系,当一个对象改变时,所有依赖它的对象都会被通知。
观察者模式的结构:主题接口、具体主题类、观察者接口、具体观察者类。
使用场景:事件驱动、消息通知。