其他分享
首页 > 其他分享> > 静态代理模式学习笔记-房屋租赁

静态代理模式学习笔记-房屋租赁

作者:互联网

10、代理模式

代理模式是Spring AOP的底层 【SpringAOP和SpringMVC面试必问】

代理模式分类:

10.1 静态代理模式

角色分析:

理解:

代码步骤:

  1. 接口

    public interface Rent {
        public void rent();	//中介和房东共同的需求
    }
    
  2. 真实角色

    public class Host implements Rent{
        public void rent() {
            System.out.println("房东要出租房子");		//房东需要租房子,但是无法找到客户,所以交给中介代理
        }
    }
    
  3. 代理角色

    public class Proxy implements Rent{
        private Host host;  //组合优于继承原则,表示中介拿到了代理的房东
    
        public Proxy(Host host) {
            this.host = host;
        }
    
        public Proxy() {
        }
    
        public void rent() {
            seeHome();		
            host.rent();    //代理帮助房东租房子
            fare();
            hetong();
        }
    
        //中介提供的其他服务
        public void seeHome(){
            System.out.println("中介带你看房");
        }
        public void fare(){
            System.out.println("收中介费");
        }
        public void hetong(){
            System.out.println("签租赁合同");
        }
    }
    
  4. 客户访问代理角色

    public class Client {
        public static void main(String[] args) {
            Host host = new Host();  //租客要找房东
            Proxy proxy = new Proxy(host);  //因为无法直接找到房东,所以拜托代理
            proxy.rent();	//代理帮忙租到了房子
        }
    }
    

代理模式的好处:

  1. 可以使真实角色的操作更加纯粹(不用管诸如看房的其他事情)
  2. 其他的事情就交给了代理角色,实现了业务的分工
  3. 其他的事情发生扩展的时候,方便集中管理

代理模式的缺点:

  1. 1个真实角色就会产生1个代理角色;代码量会翻倍,开发效率会变低

标签:房东,角色,静态,void,代理,笔记,host,public,租赁
来源: https://www.cnblogs.com/henjie/p/14512528.html