4.代理模式

实现追求美眉

0.UML图

 

1.代理和被代理共同实现的接口

/**
 * Created by makex on 2017-06-13.
 */
public interface IGiveGift {
    public void giveDolls();
    public void giveFlowers();
    public void giveCholcolate();
}

2.被代理类

/**
 * @author makex
 * @note 被代理类,实现接口
 * @create 2017-06-13
 */
public class Pursuit implements IGiveGift{

    private SchoolGirl mm;

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

    @Override
    public void giveDolls() {
        System.out.println(mm.getName()+" 送你洋娃娃");
    }

    @Override
    public void giveFlowers() {
        System.out.println(mm.getName()+" 送你鲜花");
    }

    @Override
    public void giveCholcolate() {
        System.out.println(mm.getName()+" 送你巧克力");
    }
}

3.代理类

/**
 * @author makex
 * @note 代理类
 * @create 2017-06-13
 */
public class Proxy   implements IGiveGift{
    private Pursuit gg;

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

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

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

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

4.辅助类

/**
 * @author makex
 * @note 中间类
 * @create 2017-06-13
 */
public class SchoolGirl {
    private String name;

    public SchoolGirl(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

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

5.测试类

/**
 * @author makex
 * @note 测试类
 * @create 2017-06-13
 */
public class TestClass {
    public static void main(String[] args) {
        SchoolGirl mm  = new SchoolGirl("校花");
        Pursuit gg = new Pursuit(mm);
        Proxy proxy = new Proxy(gg);
        proxy.giveDolls();
        proxy.giveFlowers();
        proxy.giveCholcolate();

        /**
         * 校花 送你洋娃娃
         * 校花 送你鲜花
         * 校花 送你巧克力
         */

    }
}

备注:

/**
  * 1.代理对象和被代理对象实现相同的接口
  * 2.被代理对象实现接口中的具体方法
  * 3.代理对象包含被代理对象的一个引用,并调用被代理对象的方法
  */
posted @ 2017-06-13 12:15  桃源仙居  阅读(145)  评论(0)    收藏  举报