• 设计模式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();
        }
    }
    

    代理模式的优缺点:

  • 相关阅读:
    Oracle Index 索引监控
    Oracle Job
    Oracle 数据类型
    Greenplum 的发展历史
    Mongodb账户管理
    MongoDB 备份与恢复
    MySQL 查看用户授予的权限
    Linux 不同方法查看进程消耗CPU IO 等
    Oracle 体系结构图
    Oracle 后台进程(六)PMON进程
  • 原文地址:https://www.cnblogs.com/ghlz/p/13583779.html
Copyright © 2020-2023  润新知