Collections.synchronizedList()中使用了什么模式

Cha*_*ani 6 java concurrency design-patterns

我正在阅读方法Collections.synchronizedList()的实现,并对它是装饰模式还是代理模式的一个例子感到困惑?

Bal*_*usC 6

它绝对是装饰者.它封装了不同的实现非常相同的接口,它的方法改变行为(通过同步接入)非常相同的底层集合,而委托的方法直接到包装的实例提供的列表.

如果它是一个代理模式,你不一定需要在构造期间传递to-be-wrapped集合,并且这些方法在封面下不一定在每次调用时都引用完全相同的集合实例.

也可以看看: