设计模式之Proxy——买票篇(原创)

设计模式之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元让老婆表扬我,说我很能干,也不错啊,你说呢!嘿嘿”。

 

设计模式是一种经过总结、优化的、可重复使用的设计经验的总结。它是软件工程中一种解决特定问题的可复用方案。设计模式不是一成不变的,而是可以根据不同的需求进行变化,以达到最佳的效果。设计模式可以提高程序的可读性、可维护性、可扩展性,同时也可以提高程序的性能和稳定性。 设计模式可以分为三种类型:创建型模式、结构型模式和行为型模式。创建型模式用于描述对象的创建过程,结构型模式用于描述对象之间的关系,行为型模式用于描述对象的行为和交互。本文章将介绍一些常用的设计模式。 1. 工厂模式(Factory Pattern) 工厂模式是一种常用的创建型模式,它使用一个工厂方法来创建对象,而不是通过直接调用构造函数。工厂模式可以隐藏对象的创建过程,使代码更加灵活和易于维护。工厂模式可以分为简单工厂模式、工厂方法模式和抽象工厂模式。 2. 单例模式(Singleton Pattern) 单例模式是一种创建型模式,它保证一个类只有一个实例,并提供一个全局访问点。单例模式可以保证对象的唯一性,避免了多个实例对系统资源的浪费。 3. 代理模式(Proxy Pattern) 代理模式是一种结构型模式,它为一个对象提供一个代理,以控制对这个对象的访问。代理模式可以增加对象的安全性,降低对象的访问成本,同时也可以提高程序的灵活性和可扩展性。 4. 装饰器模式(Decorator Pattern) 装饰器模式是一种结构型模式,它动态地给一个对象添加一些额外的职责,而不需要修改这个对象的代码。装饰器模式可以避免使用子类来扩展对象的功能,从而使代码更加灵活和可扩展。 5. 观察者模式(Observer Pattern) 观察者模式是一种行为型模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。当主题对象状态发生改变时,会通知所有的观察者对象,使它们能够及时更新自己的状态。 以上是五种常用的设计模式,它们在软件开发中都有着广泛的应用。设计模式可以帮助我们更好地组织代码、降低程序的耦合度、提高程序的可扩展性和可维护性,是一种非常重要的编程技巧。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值