我是靠谱客的博主 务实柜子,最近开发中收集的这篇文章主要介绍《大话设计模式》Java代码示例(四)之代理模式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。

package proxy;

/**
 * 代理模式(Proxy)
 * 被追求者类
 */
public class SchoolGirl {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}
package proxy;

/**
 * 代理模式(Proxy)
 * 代理接口
 */
public interface GiveGift {

    void giveDolls();

    void giveFlowers();

    void giveChocolate();

}
package proxy;

/**
 * 代理模式(Proxy)
 * 追求者类
 */
public class Pursuit implements GiveGift {

    SchoolGirl mm;

    public Pursuit(SchoolGirl mm) {
        this.mm = mm;
    }

    @Override
    public void giveDolls() {
        System.out.println("Hi," + mm.getName() + ",送你个娃娃,请收下。");
    }

    @Override
    public void giveFlowers() {
        System.out.println("Hi," + mm.getName() + ",送你束鲜花,请收下。");
    }

    @Override
    public void giveChocolate() {
        System.out.println("Hi," + mm.getName() + ",送你盒巧克力,请收下。");
    }

}
package proxy;

/**
 * 代理模式(Proxy)
 * 代理类
 */
public class Proxy implements GiveGift {

    Pursuit gg;

    public Proxy(SchoolGirl mm) {
        this.gg = new Pursuit(mm);
    }

    @Override
    public void giveDolls() {
        gg.giveDolls();
    }

    @Override
    public void giveFlowers() {
        gg.giveFlowers();
    }

    @Override
    public void giveChocolate() {
        gg.giveChocolate();
    }

}
package proxy;

/**
 * 代理模式(Proxy)
 * 客户端main方法
 */
public class Client {

    public static void main(String[] args) {
        SchoolGirl mm = new SchoolGirl();
        mm.setName("小龙女");

        Proxy proxy = new Proxy(mm);

        proxy.giveDolls();
        proxy.giveFlowers();
        proxy.giveChocolate();

    }

}

 

最后

以上就是务实柜子为你收集整理的《大话设计模式》Java代码示例(四)之代理模式的全部内容,希望文章能够帮你解决《大话设计模式》Java代码示例(四)之代理模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(29)

评论列表共有 0 条评论

立即
投稿
返回
顶部