代理模式

canca canca
2007-03-26 14:50
1
0

//代理模式--真实例子
//CopyRight(C)CAnca Software Office.2006
//Created by CAnca.

 
public class ProxyMode_RealWorld{
    public static void main(String[] args)
    {
      // Create math proxy 
      MathProxy p = new MathProxy();
 
      // Do the math 
      System.out.println("4 + 2 = " + p.Add(4, 2));
      System.out.println("4 - 2 = " + p.Sub(4, 2));
      System.out.println("4 * 2 = " + p.Mul(4, 2));
      System.out.println("4 / 2 = " + p.Div(4, 2));
    }
  }
 
  // "Subject" 
 
  interface IMath
  {
    double Add(double x, double y);
    double Sub(double x, double y);
    double Mul(double x, double y);
    double Div(double x, double y);
  }
 
  // "RealSubject" 
 
  class Math implements IMath
  {
    public double Add(double x, double y){return x + y;}
    public double Sub(double x, double y){return x - y;}
    public double Mul(double x, double y){return x * y;}
    public double Div(double x, double y){return x / y;}
  }
 
  // "Proxy Object" 
 
  class MathProxy implements IMath
  {
    Math math;
     public MathProxy()
    {
      math = new Math();
    }
 
    public double Add(double x, double y)
    { 
      return math.Add(x,y); 
    }
    public double Sub(double x, double y)
    { 
      return math.Sub(x,y); 
    }
    public double Mul(double x, double y)
    { 
      return math.Mul(x,y); 
    }
    public double Div(double x, double y)
    { 
      return math.Div(x,y); 
    }
  }

发表评论