首页 > 其他分享 >代理模式

代理模式

时间:2023-12-13 14:46:09浏览次数:28  
标签:play Movie void 代理 模式 movie public

代理模式,有两个角色,一个是被代理者,一个是代理,代理其实就是生活中的中介,但是代理者可以在原本有的操作上面添加一些自己的操作或动作。

这里代码上有两个重要的点,一个是代理者会也会继承或者实现被代理者,第二是代理者的构造函数会有一个类型为被代理者的参数,代码示例如下:

 

package designMode.advance.proxy;

public interface IMovie {
void play();
}

 

package designMode.advance.proxy;

public class Movie implements IMovie {
@Override
public void play() {
System.out.println("您正在观看电影《速度与激情8》");
}
}

package designMode.advance.proxy;

public class MovieProxy implements IMovie {
Movie movie;

public MovieProxy(Movie movie) {
this.movie = movie;
}

@Override
public void play() {
advertising(true);
movie.play();
advertising(false);
}

private void advertising(boolean isBoforMovie){
if(isBoforMovie){
System.out.println("影片马上开始,,快来关注我啊");
}else{
System.out.println("影片正片已经结束,马上彩蛋环节,不要离开哦,快来关注我啊");
}
}

public static void main(String[] args) {
Movie movie = new Movie();
IMovie movieProxy = new MovieProxy(movie);
movieProxy.play();
}
}

 

标签:play,Movie,void,代理,模式,movie,public
From: https://www.cnblogs.com/seeksimple/p/17898987.html

相关文章

  • 装饰器模式
    装饰器,顾名思义,一个是待装饰者,一个是装饰者,就像我们早餐吃的煎饼,煎饼是待装饰者,其他的火腿、里脊、土豆丝、生菜等都是装饰者,但最终都没有改变这还是一个煎饼。这里代码上有两个重要的点,一个是装饰者会也会继承或者实现被装饰者,第二是装饰者的构造函数会有一个类型为待装饰者的参......
  • 掌握建造者模式:构建复杂对象的灵活解决方案
    什么是建造者模式建造者模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。这种模式将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。举一个简单的例子:假设我们要创建一个复杂的对象,例如一辆汽车,它由多个部分组成,包括引擎、车身、轮胎等。如果我们使......
  • Spring AOP中的不同类型的自动代理实现方式:BeanNameAutoProxyCreator DefaultAdvisorA
    “BeanNameAutoProxyCreator”、“DefaultAdvisorAutoProxyCreator”和“Metadataautoproxying”是SpringAOP中的不同类型的自动代理实现方式。BeanNameAutoProxyCreator:BeanNameAutoProxyCreator是一个自动代理创建器,它根据bean的名称进行自动代理。在配置中,你可以指定一组目......
  • 博客园美化:光明/暗黑模式自动切换参考
    我的博客主题是SimpleMemory。浏览器浅色时代码主题xcode,深色时代码主题为hybrid,字体为Consolas。你现在看到的我的博客就是使用了暗黑和光明模式自动切换,会根据浏览器的主题自动识别。自动识别的关键CSS代码为:/*Lightmode*/@media(prefers-color-scheme:light){}/*......
  • 安卓手机设置代理
    设置代理:adbshellsettingsputglobalhttp_proxyip:port如:adbshellsettingsputglobalhttp_proxy192.168.200.102:8888adbshellsettingsputglobalhttp_proxy192.168.43.127:8887移除代理:adbshellsettingsdeleteglobalhttp_proxyadbshellsettingsdeleteglob......
  • 《软件需求模式》阅读笔记二
    《软件需求模式》第3、4章阅读笔记其中第3章描述了需求模式扮演的角色,解释了每个模式的一些具体内容和具体结构。而第4章则介绍了何时以及如何去使用需求模式,如何从原有的模式创造出新的模式或者直接编写新的模式。第3章首先为我们解释了需求模式的概念:定义一种特定类型需求的方......
  • 代理IP的正确打开方式,使用IPIDEA解决性能困境
    大家好,我是哪吒。我有个朋友,刚入职XX小公司的网络爬虫工程师,老板让她爬取一些电商相关数据,好规划下一步的市场规划,时间紧任务重,预算不足。于是她去网上找了免费的IP代理去爬取老板要的电商数据,结果不出所料,搞了大半天也没有获得想要的数据,因为全被目标站点的爬虫应对策略管控了,导......
  • STP判断接口工作模式
    目录拓扑配置LSW1LSW2LSW3LSW4工作原理拓扑配置LSW1[Huawei]stpmodestp[Huawei]stppriority0\\将Lsw1的优先级调为0为根桥LSW2[Huawei]stpmodestp[Huawei]stppriority4096\\将Lsw1的优先级调为4096LSW3[Huawei]stpmodestpLSW4[Huawei]stpmodestp工......
  • 设计模式之命令模式
    1.定义将一个请求封装成一个对象,从而允许客户端参数化不同的请求、将请求排队或者记录请求日志、以及支持可撤销的操作2.口语化表述假设某餐厅的工作流程如下:顾客在大堂点餐,服务员记录菜单服务员将菜单送到后厨后厨根据菜单做菜服务员根据菜单送到对应的餐桌在这个场......
  • 代理IP的正确打开方式,解决性能困境
    大家好,我是哪吒。我有个朋友,刚入职XX小公司的网络爬虫工程师,老板让她爬取一些电商相关数据,好规划下一步的市场规划,时间紧任务重,预算不足。于是她去网上找了免费的IP代理去爬取老板要的电商数据,结果不出所料,搞了大半天也没有获得想要的数据,因为全被目标站点的爬虫应对策略管控了,导致......