zoukankan      html  css  js  c++  java
  • 设计模式之代理模式

    概述:这种设计模式比较简单,简单举个例子,我想要吃早点,但是了我又不想起床自己去买,怎么办了?这时候我的好基友的作用就体现出来了,我叫他帮我去买,这个好基友了其实就是充当的代理的身份,他代替我去帮我买早餐。

    具体实例:

    package home.yhs.design;
    
    public class ProxyDesignTest {
        public static void main(String args[]){
            Me me = new Me("想吃早饭但是自己又不想买");
            
            Friend proxy = new Friend(me);//通过构造方法告诉朋友我想吃早饭这个消息
            
            proxy.buyBreakfeast();//朋友帮我买早饭
        }
    }
    
    interface Breakfeast {
        public void buyBreakfeast();
    }
    
    class Me implements Breakfeast {
        Me(String str){
            
        }
    
        @Override
        public void buyBreakfeast() {
            System.out.println("买早餐");
        }
    }
    //朋友就相当于代理
    class Friend implements Breakfeast {
    
        private Me me;
    
        Friend(Me me) {
            this.me = me;
        }
    
        @Override
        public void buyBreakfeast() {
            System.out.print("朋友帮我");
            me.buyBreakfeast();
        }
    }

    注意:该模式需要注意的就一点,代理类(Friend)里面需要包含委托类的引用

  • 相关阅读:
    单链表
    队列

    面向对象的数组与查找算法
    线性结构
    数据结构与算法概述
    webstorm 格式化代码快捷键
    Web规范小记录1:Web文件规范
    豆瓣 API报错 ( "code":104 问题 )
    舔狗日记二之心灵日记(H5版本)
  • 原文地址:https://www.cnblogs.com/studyCenter/p/6603532.html
Copyright © 2011-2022 走看看