知识卡片

原型模式性能优良但会跳过构造函数约束

普通读书笔记卡 · 1852.b.2

内容

[[Cloneable只是标记接口需覆写clone才真正可拷贝]]带来性能优良的收益——clone是内存二进制 流直接拷贝,比重新走构造逻辑更快;但同时”逃避了构造函数的约束”,既是优点(减少初始化 逻辑)也是缺点(若构造函数承载校验/注册等副作用,clone会跳过这些步骤)。发散:更适合 对象状态简单、构造函数无关键副作用的场景,否则会引入隐蔽的一致性风险。

参考来源

- 位置:《设计模式之禅(第2版)》第13章《原型模式》(源文件:_epub-src/text/part0059.html) - 结论依据:原文列出原型模式两个优点:性能优良(内存二进制流拷贝优于new)、逃避构造函数的约束,并明确说明"这既是它的优点也是缺点……优点就是减少了约束,缺点也是减少了约束,需要大家在实际应用时考虑"。 - 原始内容:原型模式是在内存二进制流的拷贝,要比直接new一个对象性能好很多……逃避构造函数的约束。这既是它的优点也是缺点,直接在内存中拷贝,构造函数是不会执行的……优点就是减少了约束,缺点也是减少了约束。