原型模式
2026/8/24小于 1 分钟
原型模式
用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。
定义与使用场景
定义:通过拷贝原型实例创建新对象。
使用场景:
- 类初始化消耗大量资源(数据、硬件资源等),用拷贝避免消耗
new创建对象需要繁琐的数据准备或访问权限- 对象需提供给多个调用者且各自可能修改其值时,做保护性拷贝
Android 中的实现:Intent.clone()
Intent shareIntent = new Intent(Intent.ACTION_SENDTO, uri);
shareIntent.putExtra("sms_body", "The SMS text");
Intent intent = (Intent) shareIntent.clone(); // 原型拷贝ArrayList 的 clone() 同样是原型模式:super.clone() + Arrays.copyOf 复制元素数组。
优点与缺点
优点:内存二进制流拷贝,性能远好于 new,循环体内大量创建对象时优势明显。
缺点:拷贝时构造函数不会执行,需注意初始化逻辑;约束减少既是优点也是风险。