网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> Java编程 >> 文章正文
  设计模式之proxy——买票篇(原创)            【字体:
设计模式之proxy——买票篇(原创)
作者:佚名    文章来源:不详    点击数:    更新时间:2007-7-7    

设计模式之Proxy——买票篇

 

今年过年手气好,打牌赢了100块,我得意的笑,我得意的笑,总之一个字“爽”。
正在装载数据……
因为往年打牌从没赢过啊!我高兴的回到家里,还没等我开口报告战况,老婆撂给我一句话“我弟要回上海,你给买张票吧。”我心里虽然不高兴,但脸上却表现出很开心的样子,立刻用坚定语气说到:“请领导放心,保证完成任务!”。保证归保证,可是大过年的票也确实难买,在经过一番挫折后(呜呜),我只好去找票贩子(
Proxy)。

说到代理这个词,大家可能都不陌生,其实现在社会上的好多中介也可以理解成为代理,说白了就是帮你办事,拿中介费而已。

1、在这里,先把买票这个活动定义成一个接口(BuyTicket)类:

public interface BuyTicket {

  public void  buyTicket();

}

2、下面我们要对这两个接口进行实现

A:正常情况下的买票活动(NormalBuyTicket)类:

public class NormalBuyTicket implements BuyTicket{

  public void  buyTicket(){

     System.out.println("买火车票!");

  }

}

B:代理情况下的买票活动(ProxyBuyTicket)类:

//当不能直接访问NormalBuyTicket对象时,必须要用代理对象

public class ProxyBuyTicket implements BuyTicket{

  private NormalBuyTicket normalBuyTicket;

  public void  buyTicket(){

     if(normalBuyTicket==null){

       normalBuyTicket = new NormalBuyTicket();

     }

     normalBuyTicket.buyTicket(); 

     getMoney();

  }

  public void getMoney(){

     System.out.println("获得代理费!");

  }

}

3、编写测试类:

public class Test {

  public static void  main(String args[]){

    BuyTicket buyTicket = new ProxyBuyTicket();

    buyTicket.buyTicket();

  }

}

4、说明:

A定义:为其他对象提供一种代理以控制对这个对象的访问。也就是说当我们不能直接访问我们想访问的对象时,必须通过一个代理对象来访问。

B:在本例中,我想买票,但当我直接买不到票时,就只好通过票贩子来买,这个道理应该谁都知道啊。

5、后记:

最终通过票贩子,我获得了去上海的票,老婆很高兴,还说我很能干,但是我付出了100元的代理费,我到底该哭还是该笑呢,但又想一下:“花100元让老婆表扬我,说我很能干,也不错啊,你说呢!嘿嘿”。

 

站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     用java实现web服务器
     用java快速开发linux gu…
     正则表达式分解siemens交…
     [portal参考手册]目录
     jsp中调用oracle存储过程…
  • 面向对象设计原则

  • java 设计工厂模式

  • Struts2学习:在struts2中集…

  • 设计模式之--Bridge

  • 浅析Spring框架下PropertyPl…

  • SPRING+STRUTS+HIBERNATE登录…

  • 摘:主题:   using springmo…

  • 在spring MVC中配置多个视图

  • 看完了第二遍C++Primer,学习…

  • MVP——Model-Viewer-Presen…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David