码迷,mamicode.com
首页 > 其他好文 > 详细

静态代理

时间:2020-07-21 14:19:16      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:imp   面向接口编程   targe   proxy   做了   好处   turn   ret   价格   

面向接口编程

静态代理模式:
真实对象与代理对象都要实现同一接口
代理对象要代理真实对象
好处:
1.真实对象只专注做自己的事情
2.代理对象可以做很多真实对象做不了的事情。

(例如,你结婚,总体上看是婚礼公司在操办结婚,但你自己只需要当自己新郎新娘就行了,最关键的部分还是你,婚礼公司做了很多其他的事情)

(例如,你租房,去房产中介租房,你只需要看要不要租这个房子,其他事情有房产中介做,总体上看是房产中介代理你去租房,完成一系列租房操作)

(例如,多线程实现用Runnable接口实现时,用到了静态代理)

public class StaticProxy {
    public static void main(String[] args) {
        Rent r = new Worker("张三");//父类引用指向子类对象
        Intermediary intermediary = new Intermediary(r);
        intermediary.rentAnApartment();
    }

}
//找房子功能接口
interface Rent{
    void rentAnApartment();
}

//自己亲自去找房子
class Worker implements Rent{
    private String name;

    public String getName() {
        return name;
    }

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

    @Override
    public void rentAnApartment() {
        System.out.println(this.name+"亲自去看房子,判断要不要租这个房子!");
    }
}
//中介帮你找房子
class Intermediary implements Rent{
    private Rent target;//注意这里是接口

    public Intermediary(Rent target) {
        this.target = target;
    }

    @Override
    public void rentAnApartment() {
        this.before();
        this.target.rentAnApartment();
        this.after();
    }

    private void after() {
        System.out.println("跟中介商量价格!");
    }

    private void before() {
        System.out.println("房屋中介给你住房信息!");
    }
}

 

静态代理

标签:imp   面向接口编程   targe   proxy   做了   好处   turn   ret   价格   

原文地址:https://www.cnblogs.com/zgmzbhqa/p/13354221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!