您的位置:首页 > 汽车 > 新车 > 公司部门英语_免费发布信息网站大全 无数量限制_百度 指数_网络营销有哪几种方式

公司部门英语_免费发布信息网站大全 无数量限制_百度 指数_网络营销有哪几种方式

2024/11/15 21:01:19 来源:https://blog.csdn.net/qq_43663493/article/details/143275236  浏览:    关键词:公司部门英语_免费发布信息网站大全 无数量限制_百度 指数_网络营销有哪几种方式
公司部门英语_免费发布信息网站大全 无数量限制_百度 指数_网络营销有哪几种方式

代理模式

代理模式(Proxy Pattern)也叫委托模式,是一个使用率非常高的模式。

定义:

为其他对象提供一种代理以控制对这个对象的访问。
代理模式是一项基本的设计技巧,许多其他的模式,如状态模式、策略模式、访问者模式本质上也采用了代理模式。

image-20241019235020904

代理模式提供以下3个角色。
■ 抽象主题(Subject)角色:该角色是真实主题和代理主题的共同接口,以便在任何可以使用真实主题的地方都可以使用代理主题。
■ 代理主题(Proxy Subject)角色:也叫做委托类、代理类,该角色负责控制对真实主题的引用,负责在需要的时候创建或删除真实主题对象,并且在真实主题角色处理完毕前后做预处理和善后处理工作。
■ 真实主题(Real Subject)角色:该角色也叫做被委托角色、被代理角色,是业务逻辑的具体执行者。

Subject: 定义 RealSubject 对外的接⼝,且这些接⼝必须被 Proxy 实现,这样外部调⽤ proxy 的接⼝最终都被转化为对 realsubject 的调⽤。

public interface Subject {// 定义一个请求方法public void request();
}

RealSubject: 真正的⽬标对象。

public class RealSubject implements Subject {@Overridepublic void request() {// 逻辑}
}

Proxy: ⽬标对象的代理,负责控制和管理⽬标对象,并间接地传递外部对⽬标对象的访问。

public class ProxySubject implements Subject {private Subject subject;public ProxySubject(Subject subject) {this.subject = subject;}// 实现请求方法public void request() {this.beforeRequest();subject.request();this.afterRequest();}private void beforeRequest() {// 预处理}// 请求后的操作private void afterRequest() {// 善后处理}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com