1. 工厂设计模式
2. 单例模式
- 私有化构造器
- 保证线程安全
- 延迟加载
- 防止序列化和反序列化破坏单例
- 防御反射攻击单例
优点:
- 在内存中只有一个实例,减少了内存开销
- 可以避免对资源的多重占用
- 设置全局访问点,严格控制访问
缺点:
- 没有接口,扩展困难
- 如果要扩展单例对象,只有修改代码,不符合开闭原则
3. 原型模式
- 简单工厂将getter、setter封装到某个方法中
- JDK提供的实现Cloneable接口,实现快速复制
- 深克隆(深拷贝)
- 浅克隆(浅拷贝)
- 原型模式性能比直接new一个对象性能高
- 简化了创建过程
- 必须配备克隆或者可拷贝的方法
- 对克隆复杂对象或者对克隆出的对象进行复杂改造时,容易带来风险
- 深克隆、浅克隆要运用得当