zoukankan      html  css  js  c++  java
  • 代理模式

    一.作用:为其他对象提供一种代理以控制对这个对象的访问。

    二.代码

    1.要被代理的目标接口
    1 package design.proxy;
    2 
    3 public interface Target {
    4     void action();
    5 }
    2.被代理目标的实现类A
     1 package design.proxy;
     2 
     3 public class TargetImplA implements Target{
     4 
     5     @Override
     6     public void action() {
     7         // TODO Auto-generated method stub
     8         System.out.println("这是代理目标的实现类A。。");
     9     }
    10 
    11 }
    3.代理类A也实现了目标接口,这样代理类A就可以代理任意目标接口的实现类,这里代理类A专门代理目标接口的实现类A
     1 package design.proxy;
     2 
     3 public class ProxyA implements Target{
     4     private Target target;
     5     public ProxyA(){
     6         System.out.println("这是代理类A。。");
     7         this.target = new TargetImplA();
     8     }
     9     
    10     public void action(){
    11         System.out.println("---代理开始---");
    12         target.action();
    13         System.out.println("---代理结束---");
    14     }
    15 }
    4.测试类
    1 package design.proxy;
    2 
    3 public class Test {
    4     public static void main(String[] args) {
    5         Target target = new ProxyA();
    6         target.action();
    7     }
    8 }
    5.结果

    这是代理类A。。
    ---代理开始---
    这是代理目标的实现类A。。
    ---代理结束---

    三.代理模式和装饰模式的区别:

    从代理类和装饰类可以看出,它们的最大区别就是代理模式由代理类创建目标对象,而装饰类需要传入目标对象。

  • 相关阅读:
    使用 lntelliJ IDEA 创建 Maven 工程的springboot项目
    HTTP协议小记
    TCP/UDP的网络底层实现
    TCP的三次握手和四次挥手
    IP地址和MAC地址绑定的必要性
    什么是回调函数?
    基于TCP实现的Socket通讯详解
    HTTP协议随笔
    计算机虚拟世界的入门常识(1)——信号的原理
    UDP比TCP好用的优势
  • 原文地址:https://www.cnblogs.com/fenglanglang/p/6021904.html
Copyright © 2011-2022 走看看