zoukankan      html  css  js  c++  java
  • 静态代理

    一、业务场景:租房子

    二、角色:中介、房东、租房客户

    角色分析

      抽象角色---(租房子)一般使用接口或抽象类来实现

      真实角色---(房东)被代理的角色

      代理角色---(中介)代理真实角色。

      客户 ------使用代理角色进行一些操作。

    三、代码

    接口:租房子

    public interface Rent {
        void rent();
    }

    房东

    public class Host implements Rent {
        @Override
        public void rent(){
            System.out.println("房屋出租");
        }
    }

    中介

    public class Proxy implements Rent {
        private Host host;
        
        public Host getHost() {
            return host;
        }
    
        public void setHost(Host host) {
            this.host = host;
        }
        
        public Proxy(Host host) {
            super();
            this.host = host;
        }
        @Override
        public void rent(){
            seeHouse();
            host.rent();
            fare();
        }
        private void seeHouse(){
            System.out.println("带房客看房");
        }
        private void fare(){
            System.out.println("收取中介费");
        }
    }

    租房客户

    public class Client {
        
        public static void main(String[] args) {
            Host host= new Host();
            Proxy p= new Proxy(host);
            p.rent();
        }
    }

    四、使用代理的好处:

    1.是的真实角色处理的业务更加纯粹,不再去关注一些公共的事情。

    2.公共的业务有代理来完成,实现了业务的分工

    3.公共的业务发生扩展时变得更加集中和方便。

    五、使用代理的缺点:

    1.类数量增加(多了代理类,工作量变大,开发效率变低。)

  • 相关阅读:
    THINKphp学习笔记
    Js获取当前日期时间及其它操作
    Oracle数据导入导出imp/eXP
    SQL中的单记录函数
    Windows服务C#/VS2003
    oracle数据库开发的一些经验积累
    Oracle 数据库的安全策略
    高兴
    无法正确运行的C#程序
    最详细的Visual C++ 2008 Express Edition使用方法(图文)
  • 原文地址:https://www.cnblogs.com/doublejun/p/5402351.html
Copyright © 2011-2022 走看看