???????????JAVA???????????????к???????????????????????????????????????????????????????????????Adapter????

????Adapter???????????????????GoF?????23?????????????Adapter??????????????????Adapter???????????????????????????????

??????????????????????У??????????????????????Щ?????

???????????????Щ???????Щ???????л??????????????????????????????????????????Щ???????????????????????????????????????????????????????滻???????????????????????????????????????滻??????????????????????????????д?????????????????????????μ??????????δ????????????????
????Adapter????????????????????????????

????Adapter?????????????μ??????????????????????????????y???Adapter??????????????????????????????????滻??????????????????Adapter???????????????????????????

???????Adapter????2?????????

????Adapter???????Adapter???е?????????????????

??????????÷????????Adapter????2??????????

????1???????????Adapter

????2???????????Adapter

??????????????????2??????????????????????????

???????磬??????????????????????????????????????OutMailer????????????????????????????Adapter??????OutMailer????????á?

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

1.IMailer.java 
2.interface IMailer { 
3.    //???????
4.    publicvoid sendMail(); 
5.}
 
?????????????IMailer????MailerAdapter??

??????????????????MailerAdapter??????????

?????????????Adapter

????MailerAdapter.java


1.class MailerAdapter extends OutMailerimplements IMailer { 
2.    //???????
3.    publicvoid sendMail() { 
4.        //????OutMailer.sendMail()??????????????
5.        this.sendMail(); 
6.    } 
7.8.    //???????????????
9.}
 
?????????????Adapter

????MailerAdapter.java

1.class MailerAdapter implements IMailer { 
2.    private OutMailer outMailer =new OutMailer(); 
3.    //???????
4.    publicvoid sendMail() { 
5.        //????OutMailer.sendMail()??????????????
6.        outMailer.sendMail(); 
7.    } 
8.9.    //???????????????
10.}
 

???????????????????Adapter???????????????Adapter?????÷?MailerClient????÷??????????????£?

????MailerClient.java

1.IMailer mailer =new MailerAdapter(); 
2.... 
3.mailer.sendMail();
 

????????????????????????????????OutMailer??????OutMailer??????滻?????????????MailerClient???κ?????