23种设计模式-代理模式

[java] view plain copy

//接口定义    
public interface MessageHandler {    
public void sendMessage(String msg);    
}    
//通过Email方式发送消息的实现类    
public class EmailMessage implements MessageHandler {    
@Override    
public void sendMessage(String msg) {    
// TODO Auto-generated method stub    
System.out.println(msg+" send!!");    
}    
}    
//消息处理的代理类    
public class MessageProxy implements MessageHandler {    
private static int count;    
private MessageHandler emailMsg;    
@Override    
public void sendMessage(String msg) {    
// TODO Auto-generated method stub    
if(checkMessage(msg))    
{    
if(emailMsg==null) emailMsg=new EmailMessage();    
count++;    
emailMsg.sendMessage(msg);    
System.out.println("Message sent:"+count);    
}    
}    
private boolean checkMessage(String msg) {    
return msg != null && msg.length() > 10;    
}    
}    
//调用类    
public class MainClass {    
private static void runProxy(MessageHandler handler)    
{    
handler.sendMessage("message for test");    
}    
/**  
 * @param args  
 */    
public static void main(String[] args) {    
// TODO Auto-generated method stub    
runProxy(new EmailMessage());    
System.out.println("++++++++++++++++Pjroxy++++++++++++++++++");    
runProxy(new MessageProxy());    
}    
}    
输出    
message for test send!!    
++++++++++++++++Pjroxy++++++++++++++++++    
message for test send!!    
Message sent:1    

代理模式指,使用这个类时不直接去调用它,而是通过一个中间代理去调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值