首页 > 试题广场 >

以下设计模式的应用场景中,属于代理模式的选项有()

[不定项选择题]
以下设计模式的应用场景中,属于代理模式的选项有()
  • 树形结构的遍历
  • 产品簇创建场景
  • 防火墙
  • CopyOnWriteList

JUC中与ArrayList有关的线程安全容器类​CopyOnWriteArrayList,在对数组进行remove()、clear()、set()和add()​操作时,在方法里先用ReentrantLock加锁​,再复制一个新数组,修改操作在新数组上完成,再将原数组指向到新数组中,最后解锁。这里的新数组就相当于一个***

发表于 2019-08-20 15:38:50 回复(3)
代理模式一般用于对有价值(稀缺)资源的管理,如数据库的连接等,目的是提高这些资源的利用率或者系统性能。 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
发表于 2021-10-18 15:19:01 回复(0)
前置知识【代理模式:提供一个代理对象来控制对真实对象(目标对象)的访问。】
答案:CD
解析:
  • A:树形结构的遍历更适合使用组合模式而非代理模式。组合模式可以将对象组织成树形(层次)结构,使得用户可以以相同的方式处理单个对象和组合对象。
  • B:产品簇创建场景更适合使用抽象工厂模式而非代理模式。抽象工厂模式可以为创建一组相关或相互依赖的对象提供一个接口(工厂),通过这个接口来创建相关的或相互依赖的对象。
  • C:***使用了代理对象在访问真实对象(网络资源)前进行一些安全性检查和控制,从而保护系统的安全。
  • D:CopyOnWriteArrayList 是一个线程安全容器类,它的 remove()、add() 等方法修改操作在新数组上完成,再把原数组指向新数组,这里的新数组相当于代理对象,原数组相当于真实对象。
发表于 2023-03-25 13:33:43 回复(0)
jdk***模式 cglib***模式
发表于 2019-08-20 18:44:38 回复(2)
C
发表于 2023-03-01 14:37:27 回复(0)

在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。

在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。

发表于 2022-04-11 22:52:17 回复(0)
排除AB 选的
发表于 2021-11-30 16:05:15 回复(0)
A属于组合模式?
发表于 2021-07-31 20:55:21 回复(0)
全靠蒙
发表于 2020-07-17 10:49:05 回复(0)