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

    最近在巩固并发编程的知识,设计到静态代理模式,特此记录。

    以婚庆公司的例子来理解静态代理模式


    定义接口Marry

    interface Marry {
    void HappyMarry();
    }


    真实角色和代理角色都要实现Marry接口
    /真实角色
    class You implements Marry {

    public void HappyMarry() {
    System.out.println("韩老师要结婚了");
    }
    }

    //代理角色
    class WeddingCompany implements Marry {

    //真实目标角色
    private Marry target;

    public WeddingCompany(Marry target) {
    this.target = target;
    }

    public void HappyMarry() {
    before();
    this.target.HappyMarry(); //这就是真实对象
    after();
    }

    private void after() {
    System.out.println("婚庆公司,结婚之后收尾款");
    }

    private void before() {
    System.out.println("婚庆公司,结婚之前准备酒席现场");
    }
    }
    
    

    真实角色和代理角色都重写了HappyMarry方法,实现了多态。

     


     

    主函数调用:

    public static void main(String[] args) {
    WeddingCompany weddingCompany = new WeddingCompany(new You());
    weddingCompany.HappyMarry();
    }

     

     

    婚庆公司的业务逻辑封装在代理角色,真实角色的业务逻辑封装在真实角色,每次调用只需要传入真实角色即可,就可以完成整个婚庆流程

     

     
  • 相关阅读:
    站立会议(2)
    站立会议(1)
    学习进度条
    四则运算2
    学习进度条
    IDEA用maven创建springMVC项目和配置
    Itellij Idea全局搜索
    Spring各个jar包作用
    IDEA一定要改的八条配置
    Nio使用Selector客户端与服务器的通信
  • 原文地址:https://www.cnblogs.com/spx88/p/14618513.html
Copyright © 2011-2022 走看看