1、什么是原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
这是官方的解释,我的理解是使用复制已有实例的方式来创建对象。
2、适用场景
1)类初始化消耗资源较多。
2)new产生的一个对象需要非常繁琐的过程(数据准备、访问权限等)
3)构造函数比较复杂。
4)循环体中生产大量对象时,可读性下降。
3、实现方式
1)通过实现Cloneable接口的clone方法进行复制
2)通过序列化的方式复制
优缺点:克隆的方式是浅拷贝,遇到引用对象属性的时候引用对象也要实现对应的Cloneable接口,实现起来稍微麻烦,而且容易遗漏。
序列化则简洁得多,只要对应对象和引用对象属性实现序列化就ok。
性能对比:克隆的方式>序列化>直接new
4、JDK中List集合有使用原型模式
原型模式
最新推荐文章于 2024-08-17 22:08:18 发布