Proxy模式:copy-on-write的疑惑

Banq及各位,在Jdon的GOF设计模式专题中,有关Proxy模式有段这样的话:我们可以等其他客户端修改完成后再进行clone,也就是说,这个特别的客户端先通过调用一个叫clone的方法来进行一系列数据获取操作.但实际上没有真正的进行对象拷贝,直至有其他客户端修改了这个对象Collection.
不知如何理解,望指点!

这个也就是copy-on-write的意思。

如果使用过Hibernate,或者动态代理,客户端实际获得的是一个虚拟代理,比如一个类中有一个Collection,只有当我们访问这个Collection时,Hibernate才会从数据库中装载这些Collection数据。

copy-on-write意思有些类似,只有客户端对这个虚拟代理进行修改时,代理才会立即从原始对象拷贝真正数据过来,这些动作都是在侦察到修改动作时,悄悄发生的。