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

    假设有这样一种情景:

    • l 张三借给李四5000000块钱
    • 李四不换了,张三很生气
    • 张三找到王五,王五是讨债公司的
    • 王五准备了老虎闸和辣椒水
    • 把李四欠张三的钱拿回来了

    也就是说,张三委托王五找李四要钱,也就是说王五代理了张三。

    代理设计是在Java中一种常用的设计模式,所谓代理设计就是指一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他业务的处理,就好比生活中使用的代理上网那样,客户通过网络代理连接网络,由代理服务器完成用户权限等操作。

     

    不管是代理操作也好,真实的操作也好,其共同目的都是上网,至于里面是如何操作用户并不关心。

     1 interface Network{
     2     public void browse();   //浏览上网
     3 }
     4 class Real implements Network{                //真是的网络
     5     public void browse() {
     6         System.out.println("上网浏览信息");
     7     }
     8 }
     9 class Proxy implements Network{      //代理服务器
    10     private Network network;         //代理对象
    11     public Proxy(Network network) {
    12         this.network = network;
    13     }
    14     public void check() {
    15         System.out.println("检查用户是否合法");
    16     }
    17     public void browse() {
    18         this.check();
    19         this.network.browse();  //在代理服务器中调用真实的主题操作
    20     }
    21 }
    22 public class TestProxy {
    23     @Test
    24     public void test() {
    25         Network network = null;
    26         network = new Proxy(new Real());  //指定代理操作
    27         network.browse();        //客户只关心上网一个操作
    28     }
    29 }
    30 //检查用户是否合法
    31 //上网浏览信息
  • 相关阅读:
    Mybatis plus 配置
    logback配置
    iview-ui-project-4.0 安装与配置
    Linux系统下Redis安装与配置
    Java中枚举的用法
    Mysql 查询所有课程的成绩第2名到第3名的学生信息及该课程成绩
    java 基础知识一 初识java
    docker 查看 挂载目录
    sqlserver统计所有表及表中记录数
    centos7配置禁用ipv6
  • 原文地址:https://www.cnblogs.com/mzct123/p/8283543.html
Copyright © 2011-2022 走看看