zoukankan      html  css  js  c++  java
  • java学习笔记-设计模式9(代理模式)

    意图

      为其他对象提供一种代理以控制对这个对象的访问。

    public interface Sourceable {
        public void method();
    }
    public class Source implements Sourceable{
     
        @Override
        public void method() {
             System.out.println("this is original method!");       
        }
    }
    
    public class Proxy implements Sourceable{
         
        private Source source;
         
        public Proxy(){
            super();
            this.source = new Source(); // 和装饰器模式区别
        }
     
        @Override
        public void method() {
            System.out.println("before decorator!");
            source.method();
            System.out.println("after decorator!");
        }
    }
    

    装饰器模式和代理模式区别:  

      装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。换句话说,用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。并且,当我们使用装饰器模 式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。

      

       转自:http://blog.csdn.net/zhangerqing/article/details/8239539

  • 相关阅读:
    求概率 Bag of mice CodeForces
    HDU 3853 LOOPS(概率DP)
    HDU 4405 Aeroplane chess (概率DP & 期望)
    求期望 ZOJ 3329 One Person Game
    poj 3774 Scout YYF I (矩阵优化的概率DP)
    codeforces 600D Area of Two Circles' Intersection
    codeforces 600A Extract Numbers
    codeforces 600C Make Palindrome
    POJ
    POJ
  • 原文地址:https://www.cnblogs.com/gxl00/p/5015459.html
Copyright © 2011-2022 走看看