文档章节

代理模式---静态代理

architect刘源源
 architect刘源源
发布于 2018/11/18 13:10
字数 154
阅读 17
收藏 0

package com.atguigu.java;

//接口的应用:代理模式---静态代理。
public class ProxyTest {
    public static void main(String[] args) {
        
        NetWork work = new RealServer();
        
        ProxyServer proxy = new ProxyServer(work);
        
        proxy.browse();
        
    }
}


interface NetWork{
    
    public void browse();
}
//被代理类
class RealServer implements NetWork{

    @Override
    public void browse() {
        System.out.println("真实服务器联网浏览网页");
    }
    
}
//代理类
class ProxyServer implements NetWork{
    
    private NetWork work;
    
    public ProxyServer(NetWork work){
        this.work = work;
    }
    
    public void check(){
        System.out.println("检查网络连接是否通畅");
    }

    @Override
    public void browse() {
        
        check();
        
        System.out.println("代理服务器代理真实服务器操作:");
        
        work.browse();
    }
    
}

© 著作权归作者所有

architect刘源源

architect刘源源

粉丝 169
博文 564
码字总数 941209
作品 0
浦东
程序员
私信 提问
加载中

评论(1)

architect刘源源
architect刘源源 博主
由代理类决定什么时候去创建被代理类的对象以及什么时候去调用被代理类的方法,被代理类的对象创建以及方法调用全委托给代理类,代理类也去视线这个接口,区重写这个方法,在代理类方法中决定了什么时候去创建被代理类的对象以及什么时候去调用被代理类的方法
【设计模式笔记】(十六)- 代理模式

一、简述 代理模式(Proxy Pattern),为其他对象提供一个代理,并由代理对象控制原有对象的引用;也称为委托模式。 其实代理模式无论是在日常开发还是设计模式中,基本随处可见,中介者模式中...

MrTrying
2018/06/24
0
0
代理模式(Proxy Pattern):动态代理 - 最易懂的设计模式解析

前言 今天我来全面总结开发中最常用的设计模式 - 代理模式中的动态代理模式 其他设计模式介绍 1分钟全面了解“设计模式” 单例模式(Singleton) - 最易懂的设计模式解析 简单工厂模式(Sim...

Carson_Ho
2018/04/09
0
0
我的Java设计模式-代理模式

写完上一篇之后有小伙伴问我有没有写过代理模式,想看看我的理解。原本我的设计模式系列是按照创建型-行为型-结构型的顺序写下去的,既然小伙伴诚心诚意了,我就大发慈悲的穿插一篇代理模式。...

Jet啟思
2017/11/29
0
0
代理模式(Mybatis中Mapper动态代理机制)

代理模式 理解动态代理机制前,先理解代理模式。 代理模式使用代理对象完成用户请求,屏蔽用户对真实对象的访问。现实世界的代理人被授权执行当事人的一些事宜,无需当事人出面,从第三方的角...

_八哥_
2018/03/15
0
0
设计模式学习笔记之-代理模式

代理模式中,客户不会直接调用目标对象而是通过一个代码对象,客户调用代理对象代理对象去调用目标对象,起到对象与对象间的隔离作用。有时候我么不想直接访问目标对象,有时候我们不能直接访...

申文波
2018/03/05
133
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据最核心的关键技术——32个算法,记得收藏!

奥地利符号计算研究所的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结...

大数据金罗
4分钟前
2
0
spring boot The server time zone value 'PDT' is unrecognized or represents more than one time zone.

spring boot启动项目时,发现数据库抛如下错误 Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'PDT' is unrecognized or represen......

huangkejie
25分钟前
1
0
正则表达式匹配

请实现一个函数用来匹配包括 '.' 和 '*' 的正则表达式。模式中的字符 '.' 表示任意一个字符,而 '*' 表示它前面的字符可以出现任意次(包含 0 次)。 在本题中,匹配是指字符串的所有字符匹配...

Garphy
今天
7
0
Laravel 5.1的多路由文件的配置

默认的路由配置文件只有一个, \app\Http\routes.php。 在同一个文件中写路由容易起冲突,文件会越来越大,就需要定义多个路由文件。 找到加载\app\Http\routes.php的文件, 打开\app\Provid...

mdoo
今天
5
0
Hibernate 5 开始使用指南前言

同时在面向对象软件和关系型数据库进行工作,可能会非常复杂和费时。数据在对象和数据库之间可能会不一致,然后导致开发成本会非常高。 Hibernate 是一个针对 Java 环境的对象关系映射(Obj...

honeymoose
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部