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)里面需要包含委托类的引用

  • 相关阅读:
    MySQ随笔2(连接表、分组)
    MySQL随笔
    Python随笔1
    要学习但还没学的知识点2016年8月4号
    jQuery备忘录--私家版
    Chrome 中的彩蛋——T-Rex
    JavaScript多线程初步学习
    实例:jQuery实现标签切换
    实例:用jQuery实现垂直和水平下拉 菜单
    AJAX编程模板
  • 原文地址:https://www.cnblogs.com/studyCenter/p/6603532.html
Copyright © 2011-2022 走看看