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

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

    代码:

    package xiao;

    class Girl{
    private String name;
    public void setName(String name){
    this.name = name;
    }
    }
    interface GiveGift{
    public void giveDolls();
    public void giveFlowers();
    public void giveChocolate();
    }
    class Pursuit implements GiveGift{
    private Girl girl;
    public Pursuit(Girl girl){
    this.girl = girl;
    }
    public void giveDolls(){
    System.out.println("give she Dolls!");
    }
    public void giveFlowers(){
    System.out.println("give she Flowers!");
    }
    public void giveChocolate(){
    System.out.println("give she Chocolate!");
    }
    }
    class Proxy implements GiveGift{
    private Pursuit pursuit;
    public Proxy(Girl girl){
    pursuit = new Pursuit(girl);
    }
    public void giveDolls(){
    pursuit.giveDolls();
    }
    public void giveFlowers(){
    pursuit.giveFlowers();
    }
    public void giveChocolate(){
    pursuit.giveChocolate();
    }
    }
    public class Hello {

    public static void main(String[] args) throws Exception{
    Girl girl = new Girl();
    girl.setName("jiaojiao");
    Proxy daili = new Proxy(girl);
    daili.giveDolls();
    daili.giveFlowers();
    daili.giveChocolate();
    }
    }

    这是通过男孩A想追女孩C,而男孩A不认识C,但是男孩B认识C,A通过B来给C送礼物的代码。

    代理模式的用途:

    第一:远程代理,为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。

    第二:虚拟代理,根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。

    第三:安全代理,用来控制真实对象访问时的权限。

    第四:智能指引,是指当调用真实的对象时,代理处理另外一些事。

  • 相关阅读:
    array方法(一)
    浅谈开发中所注意的问题
    缩略图初版
    Finite State Machine
    mMathf -》 Unity3d通用脚本
    Follow Path -》 Unity3d通用脚本
    Google 网站打不开
    MonoBehaviour.StopCoroutine
    Tutorial Unity 4 apk splitting into OBB for google play
    NGUI List<EventDelegate> 小坑
  • 原文地址:https://www.cnblogs.com/tuifeideyouran/p/3733543.html
Copyright © 2011-2022 走看看