You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

封装静态UserDataAccess的包装类属于Adapter还是Proxy设计模式?

模式判定结论

UserDataAccessProxyOrAdapter 属于适配器模式(Adapter),不属于代理模式(Proxy),具体判定依据如下:

符合适配器模式的核心特征

适配器模式的核心定位是解决接口不兼容问题:将原有类不匹配的接口,转换为调用方期望的目标接口,使得原本无法直接协同的类可以一起工作。
当前场景完全匹配该特征:

  • 遗留静态类 UserDataAccess 未实现 IUserDataAccess 接口,无法直接注入到依赖该接口的 UserService 中,属于典型的接口不兼容场景
  • 新增的实现类仅做一层转发:将对 IUserDataAccess.AddUser 接口方法的调用,转接到原有静态类的 UserDataAccess.AddUser 静态方法上,没有修改原有逻辑,仅完成接口兼容适配的工作。

不符合代理模式的核心要求

代理模式的核心定位是控制对目标对象的访问:代理类和被代理的目标类必须实现相同的接口,代理类会在访问目标对象的前后新增额外逻辑(比如权限校验、缓存、埋点、延迟加载等),不存在接口不兼容的前提。
当前场景不符合该要求:

  • 原有的 UserDataAccess 是静态类,没有实现 IUserDataAccess 接口,不满足「代理与被代理类同接口」的基础前提
  • 你提到的「对静态资源的访问」不属于代理要求的额外功能:该实现没有在原有 AddUser 执行前后新增任何额外业务逻辑,仅做接口转换转发,没有控制访问的属性。

内容的提问来源于stack exchange,提问作者Don Box

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 22:06:05