zoukankan      html  css  js  c++  java
  • 设计模式9——静态代理模式

    设计模式9——静态代理模式

    代理模式是SpringAOP的底层。

    代理模式分类:

    • 静态代理模式

    • 动态代理模式

    代码实现:

    1.接口

    package com.ghl.staticproxy;
    
    /**
     * @ProjectName DesignPattern
     * @ClassName Rent
     * @Date 2020/8/29 20:57
     * @Author gaohengli
     * @Version 1.0
     */
    //静态代理模式
    //租房
    public interface Rent {
    
        public void rent();
    }
    

    2.真实角色

    package com.ghl.staticproxy;
    
    /**
     * @ProjectName DesignPattern
     * @ClassName Host
     * @Date 2020/8/29 20:58
     * @Author gaohengli
     * @Version 1.0
     */
    //房东
    public class Host implements Rent{
        @Override
        public void rent() {
            System.out.println("房东要出租房子");
        }
    }
    

    3.代理角色

    package com.ghl.staticproxy;
    
    /**
     * @ProjectName DesignPattern
     * @ClassName Proxy
     * @Date 2020/8/29 21:01
     * @Author gaohengli
     * @Version 1.0
     */
    //代理(房租中介)
    public class Proxy implements Rent{
    
        private Host host;
    
        public Proxy(Host host) {
            this.host = host;
        }
    
        @Override
        public void rent() {
            seeHose();
            host.rent();
            heotong();
        }
    
        private void seeHose(){
            System.out.println("中介带你看房子");
        }
    
        private void heotong(){
            System.out.println("中介带你签合同");
        }
    }
    

    4.客户端访问代理角色

    package com.ghl.staticproxy;
    
    /**
     * @ProjectName DesignPattern
     * @ClassName Client
     * @Date 2020/8/29 20:59
     * @Author gaohengli
     * @Version 1.0
     */
    //租客找房东租房
    public class Client {
        public static void main(String[] args) {
            //房东要租房子
            Host host = new Host();
            //代理,中介帮房东出租,会有一些附属操作
            Proxy proxy = new Proxy(host);
            //直接找中介租房
            proxy.rent();
        }
    }
    

    代理模式的优缺点:

  • 相关阅读:
    前端常见跨域解决方案
    VS单元测试--初级篇
    高等数学思路
    二元函数求极值判别式AC-B^2
    向量积详解
    伯努利分布均值和方差
    两个标准正态随机变量相乘的方差
    a分位数与双侧a分位数
    中心极限定理概念理解与记忆
    样本方差概念解析
  • 原文地址:https://www.cnblogs.com/ghlz/p/13583779.html
Copyright © 2011-2022 走看看