前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >08 设计模式 静态代理

08 设计模式 静态代理

作者头像
shimeath
发布2020-07-30 17:06:05
1970
发布2020-07-30 17:06:05
举报

静态代理

例如:在租房时候,不需要直接去找房东,只要去找中介,中介会将房子租给我们,而我们不必和房东接触,便可以租下来房子

首先创建一个接口,代表租房这个事情

代码语言:javascript
复制
public interface Rent {
    public void rent();
}

然后再创建一个类代表房东,实现了租房这个接口

代码语言:javascript
复制
public class Landlord implements Rent{
    @Override
    public void rent() {
        System.out.println("出租房屋");
    }
}

在没有中介的时候,房东需要自己和我们打交道

代码语言:javascript
复制
public static void main(String[] args) {
    Landlord landlord = new Landlord();
    landlord.rent();
}

这时,房东觉得很麻烦,于是就找了个房屋中介

代码语言:javascript
复制
public class Agent implements Rent{

    Landlord landlord;

    Agent(Landlord landlord){
        this.landlord = landlord;
    }

    @Override
    public void rent() {
        clean();
        contract();
        landlord.rent();
        fare();
    }

    public void clean(){
        System.out.println("打扫房屋");
    }

    public void contract(){
        System.out.println("签订合同");
    }

    public void fare(){
        System.out.println("收租");
    }

}

这样有了中介之后,房东不需要操心租房这件事了,中介在其中做了一些处理,最后将房屋租给我们,这就是一个典型的静态代理

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 静态代理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档