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

    代理模式(Proxy Pattern) :给某一个对象提供一个代 理,并由代理对象控制对原对象的引用。代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式。

    代理模式包含三个角色:

      抽象主题角色(Subject):通过接口或抽象类声明真实角色实现的业务方法。

      代理主题角色(Proxy):实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。

      真实主题角色(RealSubject):实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。

    基本代码实现:

    1、接口类:

    public interface ISubject {
        void Method();
        void Function();
    }

    2、真实主题角色

    public class RealSubject implements ISubject{
        @Override
        public void Method() {
            System.out.println("真实实现方法。");
        }
    
        @Override
        public void Function() {
            System.out.println("真实实现功能。");
        }
    }

    3、代理主题角色(实现与真实类相同的接口,实际调用真实类的方法)

    public class ProxySubject implements ISubject {
    
        public RealSubject real;
    
        public ProxySubject() {
            real = new RealSubject();
        }
    
        @Override
        public void Method() {
            real.Method();
        }
    
        @Override
        public void Function() {
            real.Function();
        }
    }

    4、测试方法

    public class ProxyTest {
        public static void main(String[] args) {
            //实例化代理
            ISubject subject = new ProxySubject();
            //通过代理调用具体功能
            subject.Method();
            subject.Function();
        }
    }

    运行结果:

      

  • 相关阅读:
    取汉字字串的首字母
    回调函数
    [转].NET对象与COM对象
    [转]TCP与UDP的特点与区别
    【转】一张图分出你是用左脑还是右脑!
    并发基础(Runnable、Thread、Executor)
    Java序列化总结
    Hadoop安装配置手册
    MySQL配置信息解读(my.cnf)
    mysql主从备份、主从切换
  • 原文地址:https://www.cnblogs.com/format-ch/p/6925060.html
Copyright © 2011-2022 走看看