代理模式Proxy pattern

一、
二、具体实现
   
    1,
    代理对象类:商城
    接口:进货、卖货
    被代理类:卖衣服的、卖书的、卖吃的

    2,代码实现
    
    接口-被代理的行为-交易
   
    public interface ITrade{
        public void sale();
        public void purchase();
    }
    


    被代理类-商家
    
     public class ClothingStore implements ITrade{
         public void sale(){
             System.out.println("i was selling clothes ");
         }
         public void purchase(){
             System.out.println("i was buying clothes");
         }
     }
     public class FoodStore implements ITrade{
         //进货小吃
           //出售小吃
     }
     public class BookStore() implements ITrade{
          //进书
            //卖书
     }
    


    代理类-商城
   
    public class Store implements ITrade{
          private ITrade trade;

          public Store(){
              //商城的本家是卖书的
              this.trade=new SaleBook();
          }
          public Store(ITrade trade){
              this.trade=trade;
          }
         

          /**
          *代理实现
          */
          public void sale(){
               this.trade.sale();
          }
          public void purchase(){
               this.trade.purchase();
          }
    }
    

 
     交易者
    
          public class Swapper{
              public static void main(String args[]){
                   
                   //交易书--进入商城然后交易
                   //代理-商城默认代理的是书
                   Store bs=new Store();
                   bs.sale();
                   bs.purchase();

                   //交易食品
                   //出现食品卖家,加入商城(被其代理),交易
                   FoodStore fs=new FoodStore();
                   Store fss=new Store(fs);
                   fss.sale();
                   fss.purchase();
              }
          }
     

猜你喜欢

转载自fulndon.iteye.com/blog/2245190