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();
    }

     

     

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

     

     
  • 相关阅读:
    FileWriter写数据路径问题及关闭和刷新方法的区别
    FileWriter剖析
    2018-10-27 22:44:33 c language
    2018-10-23 23:29:54 clanguage
    Just write about
    2018-10-19 00:13:35 ArrayList
    2018-10-18 22:15:32 c language
    Why do collection classes appear
    2018-10-17 22:20:39 c language
    2018-10-16 22:56:13 c language
  • 原文地址:https://www.cnblogs.com/spx88/p/14618513.html
Copyright © 2011-2022 走看看