????????????????????????????????????????????????????????????????????????????????????????????????????Щ???????????????????????????????????????漰???????У?

?????????????????????????????????????

???????????????????????????ж????????????????????????????????????????????????????????????????κ??????????????????????????????????????????????????????????????????????????????з????

?????????????????????????????????????????????????

?????????????????????????????????????????????

??????????????????????????????????????????????????????????????MessageHandler??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

 

//??????
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);
  }
 }