美文网首页
java 设计模式--代理模式心得1(静态代理)

java 设计模式--代理模式心得1(静态代理)

作者: 心随风飛 | 来源:发表于2019-07-30 12:05 被阅读0次

代理模式心得

1 简述

  代理模式,通俗的来讲代理模式就是我们生活中常见的中介,为一个对象在不改变原有需求的情况下增强其功能

2 示例

2.1 需求说明

  比如我们需要找房子,先生成租房核心操作接口类

/**
    * 抽象租房的核心操作接口类
    */
interface RentalHouse {
    /**
    * 提供租房需求
    */
  public void rentalHouse();
}

实现该接口

class RentalHouseImpl implements RentalHouse {
  public void rentalHouse(){
   System.out.println("我租房"); 
  }
}

主程序

/**
    * 主程序
    */
public class TestRun {
  public static void main(String args[]){
    RentalHouse rh = new RentalHouseImpl();
    rh.rentalHouse();
  }
}

********执行结果*******
我租房

2.2 问题发现

  如果按照这个方式的话, 也仅仅是你个人在找房子而已,能力不强

3 改造

  比如我们需要找房子,我们自己找能力有限, 也就催生出一类公司, 房屋中介,他代为找房, 公司能力更强更广, 能更好更快的为你找合适的房子,你们共同的核心需求就是找房,同时中介在找房的基础上提供了更多功能,也就是代理主题实现

/**
    * 租房中介
    */
class RentalHouseProxy implements RentalHouse {

    private RentalHouse rentalHouse;

    public RentalHouseProxy(final RentalHouse rentalHouse) {
        this.rentalHouse = rentalHouse;
    }
        
    private void ready(){
            System.out.println("租房前准备,查找公司数据库资源");
    }
    
    @Override
    public void rentalHouse() {
        ready();
        rentalHouse.rentalHouse();
        complete();
    }
    
    private void complete(){
      System.out.println("租房后卫生打扫,家具修理");
    }
}

主程序

/**
    * 主程序
    */
public class TestRun {
  public static void main(String args[]){
        // 提供真实需求
    RentalHouse rh = new RentalHouseImpl();
    // 通过中介找房,将需求告诉中介
    RentalHouseProxy proxy = new RentalHouseProxy(rh);
    //中介帮你租房
    proxy.rentalHouse();
  }
}

********执行结果*******
租房前准备,查找公司数据库资源
我租房
租房后卫生打扫,家具修理

4 结果总结

  看以上的代码就能得出, 中介不仅能提供找房子功能, 还能做到提前在自己的数据库中查找, 提高找房速度效率, 并且在租房后提供卫生的打扫工作, 家具修理, 功能更强, 比你自己找房还要轻松, 服务更好.

相关文章

  • Java设计模式之代理模式

    Java设计模式之代理模式 代理模式 静态代理 动态代理 为什么需要代理 通过代理,我们能够不用知道委托人是谁,而...

  • Java--代理模式、动态代理

    代理模式是很常见的一种设计模式,如AppCompatActivity兼容方案,Java中代理模式分为静态代理和动态...

  • 静态/动态代理模式

    代理, 顾名思义就是让别人替你完成或处理事情。 在Java设计模式中,代理模式又可分为静态代理和动态代理模式。静态...

  • java 设计模式--代理模式心得1(静态代理)

    代理模式心得 1 简述   代理模式,通俗的来讲代理模式就是我们生活中常见的中介,为一个对象在不改变原有需求的情况...

  • Proxy代理者模式(一)

    摘要 本篇笔记针对Java设计模式中最难理解的代理者模式进行讲解,从静态代理、动态代理,及Java相关代理类的应用...

  • java设计模式之代理模式(静态代理)

      今天给大家分享的是java设计模式之代理模式中的静态代理模式,动态代理模式将在后面文章中给出。如有不足,敬请指...

  • JDK和Cglib动态代理

    1.代理模式(静态代理) 代理模式是常用设计模式的一种,我们在软件设计时常用的代理一般是指静态代理,也就是在代码中...

  • 设计模式之代理

    设计模式之代理模式 一、定义 在Java中代理的实现一般分为三种:JDK静态代理、JDK动态代理以及CGLIB动态...

  • java动态代理(JDK和cglib)(转载自http://ww

    java动态代理(JDK和cglib) JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是...

  • javaweb入门学习之代理模式(03)

    设计模式之代理模式 一. 概述 1.1 静态代理的实现 创建 接口类 IUserDao.java 目标对象类Use...

网友评论

      本文标题:java 设计模式--代理模式心得1(静态代理)

      本文链接:https://www.haomeiwen.com/subject/lqwgrctx.html