当前位置:首页 > CN2资讯 > 正文内容

设计模式—代理模式

2天前CN2资讯

代理模式代理者和被代理者实现共同的行为,然后让代理制调用被代理者完成这些行为。

  示例说明:代理者Proxy 代理MrLi 给MrssHong 送礼物。

类图如下:

代码实现:

定义一个送礼物的接口:GiveGift

package com.zpj.designMode.proxy;//定义一个送礼物的接口public interface GiveGift {    public void giveFlowers();    public void giveDolls();    public void giveChocolate(); }

 

实现MrLi:

package com.zpj.designMode.proxy;/**  * MrLi会追女孩送礼物所以要实现接口GiveGift */public class MrLi implements GiveGift {    private MrssHong hong;// 被追求着     public MrLi(MrssHong hong) {        this.hong = hong;     }     @Override    public void giveFlowers() {         System.out.println("---------送花-------------" + hong.getName());     }     @Override    public void giveDolls() {         System.out.println("---------送洋娃娃-------------" + hong.getName());     }     @Override    public void giveChocolate() {         System.out.println("---------送巧克力-------------" + hong.getName());     } }

 

实现代理Proxy :

package com.zpj.designMode.proxy;public class Proxy implements GiveGift {    private MrLi person;// 被代理人     public Proxy(MrssHong hong) {         person = new MrLi(hong);     }     @Override    public void giveFlowers() {         person.giveFlowers();     }     @Override    public void giveDolls() {         person.giveDolls();     }     @Override    public void giveChocolate() {         person.giveChocolate();     } }

 

被送礼物者:MrssHong

package com.zpj.designMode.proxy;public class MrssHong {    private String name;    public MrssHong(String name) {        super();         = name;     }    public String getName() {        return name;     }    public void setName(String name) {         = name;     } }

 

测试类:

package com.zpj.designMode.proxy;import org.junit.Test;public class TestUnit {     @Test    public void test01() {         MrssHong hong = new MrssHong("红×××");        // 告诉代理者向谁送礼物,这个代理专属于MrLi         Proxy proxy = new Proxy(hong);        // 代理者送礼物        proxy.giveFlowers();         proxy.giveChocolate();         proxy.giveDolls();     } }


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/24870.html

    分享给朋友:

    “设计模式—代理模式” 的相关文章

    AS4134是什么线路:深入解析中国电信的核心骨干网

    AS4134线路,大家也可以叫它163网络,这是中国电信的核心骨干网之一。聊到AS4134,首先让人想到的就是它在国内出海带宽上占据的重要地位。能够承载90%的电信业务负载,真的是一个不可小觑的网络。这条线路不仅是中国电信的主要骨干网,还成为了很多海外用户访问国内互联网资源的高性价比选择。我在租用香...

    恒创科技:引领数据中心与网络安全解决方案的先锋

    恒创科技这个名字,对于熟悉科技行业的人来说,或许并不陌生。它是一个多元化的品牌,涉及数据中心、网络安全、软件开发和智慧城市解决方案等多个领域。我对这家公司一直抱有浓厚的兴趣,因为它所提供的服务非常全面,能够满足不同行业的需求。 在我看来,恒创科技一直努力将最先进的技术应用于实际场景中,尤其是在互联网...

    如何开启BBR查询并提升TCP网络性能

    BBR(Bottleneck Bandwidth and Round-trip propagation time)是一种由Google开发的TCP拥塞控制算法,我对它的了解让我感到非常兴奋。BBR旨在通过精确的网络条件监测,以提高传输速度和稳定性。传统的拥塞控制算法往往依赖于丢包率的变化来调整传输速...

    AS4837线路概述与技术特点解析,适合预算有限用户的高速网络选择

    AS4837线路的概述 当我开始了解AS4837线路时,就会发现它不仅仅是一个技术名词,更是中国联通的一部分。AS4837,简称为China169,是中国联通的骨干网线路,诞生于20世纪90年代。这条线路架起了中国大陆与全球之间的桥梁,特别是连接了香港、美国、日本和韩国等重要地区。对于那些追求高速互...

    选择和管理海外服务器的最佳策略与优势

    在如今这个信息高度发达的时代,海外服务器逐渐成为许多企业的不二选择。简单来说,海外服务器是指那些位于中国境外的数据处理设备。这些服务器致力于为全球用户提供高效的服务,不论是数据存储、网站托管还是其他在线服务。通过使用海外服务器,企业能够接触到更广阔的市场以及可定制的解决方案,以满足特定需求。 选择海...

    GPU租用服务:灵活、高效、经济的计算解决方案

    在今天的科技世界里,GPU租用服务正逐渐成为一种流行的趋势。这种服务允许用户通过云计算平台租用高性能的图形处理单元(GPU),从而完成需要大量计算的任务,比如深度学习、3D渲染或者其他复杂的数据处理。对于很多个人用户或小企业而言,直接购买这些昂贵的硬件并不现实,租用的方式显得更加灵活和经济。 借助G...