目录
- 创建型模式的关注点:怎样创建出对象、将对象的创建和使用分离
- 降低系统的耦合度,使用者无需关注对象的创建细节
单例(Singleton)模式
一个单一的对象,负责创建自己的对象,同时确保系统中只有单个对象被创建
- 某个类只能有一个实例(构造器私有)
- 它必须自行创建这个实例(自己编写实例化逻辑)
- 它必须自行向整个系统提供这个实例(对外提供实例化方法)
- 懒汉、饿汉:前者只有用到了再创建,后者提前创建
代码
懒汉单例模式
<aside>
💡 核心是要考虑线程安全问题
</aside>
饿汉单例模式
应用场景
- 多线程的线程池
- 数据库的连接池
- 系统环境信息
- 上下文(ServletContext)
原型(Prototype)模式
用于创建重复的对象,同时又保证性能
本体给外部提供一个克隆体进行使用