静态代理

代理类和委托类都需要实现相同的接口

package hxw.test.StaticProxy;

public interface Service {

public void show();

}

代理类 

package hxw.test.StaticProxy;

public class ServiceProxy implements Service{

//持有接口
    private Service service;

//构造器要求获得接口的实现类
    public ServiceProxy(Service service){
        super();
        this.service = service;
    }

//接口方法调用
    @Override
    public void show() {
        System.out.println("代理类 "+this.getClass().getSimpleName()+" 委托类 "+this.service.getClass().getSimpleName()+" 开始");
        this.service.show();
        System.out.println("代理类 "+this.getClass().getSimpleName()+" 委托类 "+this.service.getClass().getSimpleName()+" 结束");
    }

}

委托类是接口的个性化实现 1

package hxw.test.StaticProxy;

public class ServiceImpl1 implements Service{

@Override
    public void show() {
        System.out.println("实现之1");
    }

}

委托类是接口的个性化实现 2

package hxw.test.StaticProxy;

public class ServiceImpl2 implements Service{

@Override
    public void show() {
        System.out.println("实现之2");
    }

}

测试类

package hxw.test.StaticProxy;

public class main {

public static void main(String[] args) {

Service impl1 = new ServiceImpl1();
        new ServiceProxy(impl1).show();

Service impl2 = new ServiceImpl2();
        new ServiceProxy(impl2).show();

}

}

测试结果

代理类 ServiceProxy 委托类 ServiceImpl1 开始
实现之1
代理类 ServiceProxy 委托类 ServiceImpl1 结束
代理类 ServiceProxy 委托类 ServiceImpl2 开始
实现之2
代理类 ServiceProxy 委托类 ServiceImpl2 结束

Java设计模式:代理相关推荐

  1. java设计模式代理模式_Java中的代理设计模式

    java设计模式代理模式 代理对象或代理对象为另一个对象提供占位符,以控制对该对象的访问. 代理充当原始对象的轻量级版本或简化版本. 它支持与原始对象相同的操作,但可以将那些请求委托给原始对象以实现它 ...

  2. Java设计模式(代理模式-模板方法模式-命令模式)

    Java设计模式Ⅴ 1.代理模式 1.1 代理模式概述 1.2 静态代理 1.2.1 静态代理概述 1.2.2 代码理解 1.3 动态代理之JDK代理 1.3.1 动态代理之JDK代理概述 1.3.2 ...

  3. 通俗易懂说java设计模式-代理模式

    基本概念 代理模式,和我们在生活中所理解的"代理"思想并没有太大的区别.代理模式的实现需要我们设计一个代理类,在不直接访问被代理对象的前提下,通过代理类实现对被代理对象的间接访问, ...

  4. JAVA设计模式--代理模式(静态)

    目录 一.什么是代理模式 二.静态代理模式的结构 三.静态代理模式应用举例 应用一 应用二 四.代理模式的应用场景 五.静态代理模式的特点 一.什么是代理模式 代理(Proxy)模式为其他对象提供一种 ...

  5. Java设计模式-代理模式笔记

    代理模式 0 什么是代理模式 理解方式1 理解方式2 1 静态代理 1.1 代码实现 1.2 方法解读 1.3 优缺点 2 动态代理 2.1 具体实现 2.2 方法解读 2.3 注意 3 Cglib代 ...

  6. Java设计模式—代理模式

    1. 什么是代理模式? 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问. 2. 代理模式有什么好处? 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标 ...

  7. java设计模式-代理模式初探

    根据圣思园的视频,整理的java代理模式. 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问. 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间 ...

  8. JAVA设计模式 - 代理模式

    在对象的一个业务方法完成之后, 有时候我们可能需要去添加一些新的功能(前置校验等). 但我们又不想更改原来的代码 , 代理模式就为我们提供了一种解决方案 . 1 . 代理模式的定义 代理模式就是在不改 ...

  9. Java 设计模式 -- 代理模式

    代理模式概念 实现一个代理类以及它所对应的受代理对象,其他所有类对受代理对象的访问,都由代理对象代为实现. 优点:在目标对象基础之上,可以增加一些额外的功能. 个人认为,这种模式适用于: 你需要使用别 ...

  10. Java设计模式——代理模式

    文章目录 1.简介 2.推荐实现案例 3.优缺点 3.1 优点 3.2 缺点 4.应用场景 5.注意事项 6.拓展 6.1 普通代理 6.2 强制代理 6.3 代理类的个性 6.4 动态代理 7.最佳 ...

最新文章

  1. 技术人员关注的几个优质公众号
  2. Storm【压力测试】- 系列1: 进行简单的压力测试
  3. 两个单体内置对象_Global和Math
  4. 在数据库什么是主键与外键
  5. wxWidgets:TextFrame 类的完整实现
  6. 判断字符为空_49. 把字符串转换成整数(剑指offer)
  7. 程序员最常用的7大编程实战网站,阿里腾讯面试题也用它!
  8. 云计算机是什么样子,云电脑的配置怎么样?高配与标配的区别是什么?
  9. sql日期处理(出自邹建的book)
  10. 当汽车工业遇见 AI,开发者的时代到来
  11. 心情随笔(六):金秋十月备考之路亦别有一番风味
  12. oracle手动锁表和解锁_Oracle锁表查询和解锁方法
  13. 目前见到的最傻瓜全面的STRUTS入门教程^_^
  14. 安卓虚拟机 选择分辨率
  15. Keil看不见头文件
  16. 罗振宇2017跨年演讲:我们这代人的机会在哪里?
  17. 观察 | 经济学诺奖的启示:金融科技的核心任务是什么?
  18. android 页面默认不弹软键盘_Android避免进入页面自动弹出软键盘(真正好用)
  19. VSPD虚拟串口使用
  20. 【Proteus仿真】【51单片机】LED点阵花样显示设计

热门文章

  1. BZOJ3597: [Scoi2014]方伯伯运椰子
  2. (8)Total Commander——文件管理工具(更新中)
  3. 2022校内天梯排名赛部分题记录
  4. 用小米5手机给合肥公交卡充值
  5. Numpy——老师PPT
  6. 看门狗要素以及stm32看门狗
  7. Jmeter超高并发解决方案
  8. InnoDB 四大特性
  9. Mac系统安装Navicat Premium数据库与汉化
  10. opentcs 如何汉化