java中23种设计模式之10-代理模式(Proxy pattern)

interface Station
{
void sellTickets();
}
class TrainStation implements Station
{
public TrainStation()
{
}
public void sellTickets()
{
System.out.println("TrainStation selling tickets");
}
}

class TrainStationProxy implements Station
{
private TrainStation aTrainStation=null;
public TrainStationProxy()
{
aTrainStation=new TrainStation();
}
public void sellTickets()
{
aTrainStation.sellTickets();
}
}

public class ProxyPatternTest
{
public static void main(String[] args)
{
TrainStationProxy aTrainStationProxy=new TrainStationProxy();
aTrainStationProxy.sellTickets();
}
}

///////////////////////////////////////////

输出结果:

TrainStation selling tickets

时间: 2024-08-08 13:43:44

java中23种设计模式之10-代理模式(Proxy pattern)的相关文章

java中23种设计模式之5-多例模式(multition pattern)

顾名思义,多例模式相对于单例模式,就是可以有多于一个的有限实例,如下列,只能有两个实例. import java.util.ArrayList;import java.util.Random;class Multition{ private final static int MAX_NUMBER=2; private static ArrayList<Multition> aMultitionArrayList=new ArrayList<Multition>(); private

java中23种设计模式之13-组合模式(composite pattern)

import java.util.LinkedList;abstract class Company{ private String name; public void setName(String name) { this.name=name; } public String getName() { return name; } abstract void add(Company company); abstract void remove(Company company); abstract

java中23种设计模式之6-外观模式(facade pattern)

概念:为子系统中的一组接口提供一个统一接口.Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用. 应用场景: 1)为一个复杂子系统提供一个简单接口. 2)提高子系统的独立性. 3)在层次化结构中,可以使用Facade模式定义系统中每一层的入口. 以大型娱乐商场提供的休闲一条龙服务为例,包括购物,餐饮,按摩.其中购物,按摩,餐饮作为子系统的组成,提供统一对外接口PackageService 类图如下: class Shopping{ String customer=null; pu

java中23种设计模式之18-原型模式(Prototype pattern)

class Something{ public String something=null;}class Prototype implements Cloneable{ private String name; public Something aSomething=new Something(); public void setName(String name) { this.name=name; } public String getName() { return name; } publi

java中23种设计模式之12-装饰模式(decorator pattern)

class Girl { public void showAppearance() { System.out.println("the girl: face without make up"); } } class TakeFlower extends Girl { Girl girl=null; public TakeFlower(Girl girl) { this.girl=girl; } public void showAppearance() { girl.showAppear

java中23种设计模式之17-状态模式(state pattern)

interface State{ public void handle(StateMachine statemachine);} class Eat implements State{ StateMachine statemachine=null; public void handle(StateMachine statemachine) { System.out.println("eat"); this.statemachine=statemachine; this.statemac

java中23种设计模式之4-单例模式(singleton pattern)

作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 单例类只能有一个实例. 单例类必须自己创建自己的唯一实例. 单例类必须给所有其他对象提供这一实例. 一般是通过private 来描述构造函数,禁止从外部构造对象,通过getInstance来获取唯一的实例. class Singleton{ private static Singleton aSingleton=null; private static int indexSingleton=0; pr

java中23种设计模式之7-适配器模式(adapter pattern)

class Barrel{ public void getOilFromBarrel() { System.out.println("get oil from Barrel ok"); }}class Funnel implements Bottle{ private Barrel aBarrel=new Barrel(); public void getOil() { aBarrel.getOilFromBarrel(); }}interface Bottle{ void getOi

java中23种设计模式之10-桥梁模式(bridge pattern)

abstract class Vehicle{ VehicleImpl aVehicleImpl=null; public Vehicle(VehicleImpl vehicleImpl) { aVehicleImpl=vehicleImpl; } void transport() { aVehicleImpl.transportImpl(); }}interface VehicleImpl{ void transportImpl();}class TransportPeople impleme