1700480354
1700480355
33.3.1 代理模式
1700480356
1700480357
现在很多明星都有经纪人,一般有什么事他们都会说:“你找我的经纪人谈好了”,下面我们就看看这一过程怎么模拟。假设有一个追星族想找明星签字,我们看看采用代理模式怎么实现。代理模式是包装模式中的最一般的实现,类图如图33-6所示。
1700480358
1700480359
1700480360
1700480361
1700480362
图33-6 追星族找明星签字
1700480363
1700480364
类图很简单,就是一个简单的代理模式,我们来看明星的定义,明星接口如代码清单33-29所示。
1700480365
1700480366
代码清单33-29 明星接口
1700480367
1700480368
public interface IStar{
1700480369
1700480370
//明星都会签名
1700480371
1700480372
public void sign();
1700480373
1700480374
}
1700480375
1700480376
明星只有一个行为:签字。我们来看明星的实现,如代码清单33-30所示。
1700480377
1700480378
代码清单33-30 明星
1700480379
1700480380
public class Singer implements IStar{
1700480381
1700480382
public void sign(){
1700480383
1700480384
System.out.println(“明星签字:我是XXX大明星”);
1700480385
1700480386
}
1700480387
1700480388
}
1700480389
1700480390
经纪人与明星应该有相同的行为,比如说签名,虽然经纪人不签名,但是他把你要签名的笔记本、衣服、CD等传递过去让真正的明星签字,经纪人如代码清单33-31所示。
1700480391
1700480392
代码清单33-31 经纪人
1700480393
1700480394
public class Agent implements IStar{
1700480395
1700480396
//定义是谁的经纪人
1700480397
1700480398
private IStar star;
1700480399
1700480400
//构造函数传递明星
1700480401
1700480402
public Agent(IStar_star){
1700480403
[
上一页 ]
[ :1.700480354e+09 ]
[
下一页 ]